Скопируйте документ в компьютерный файл с USB с VB.NET
Я пишу программу, в которой, когда пользователь подключил USB к компьютеру, он будет автоматически копировать документ с USB. Та программа, которую я сделал, копирует только документ, кроме файла. Я также хочу скопировать файл с USB.
И второе: программа всегда копирует данные, когда USB подключен. Я имею в виду, что если я подключу USB к компьютеру как 5 минут, это будет скопировано как папка 10-15.(USB1-USB2-......-USB15)
Я хотел бы скопировать документ только один раз.
Я жду вашей помощи.
Imports System.IO
Public Class Form1
Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Dim DesPath
Dim norle As New Scripting.FileSystemObject
Dim sourcePath As String
Sub FolderName(ByVal Path As String)
If (c = 1) Then
On Error Resume Next
Dim Pfolder As Scripting.Folder
Dim Sfolder As Scripting.Folder
Dim d As String
Dim i As Integer
i = 0
A:i = i + 1
If Not norle.FolderExists("D:\TacettinNew\USB" & i) Then
norle.CreateFolder("D:\TacettinNew\USB" & i)
DesPath = ("D:\TacettinNew\USB" & i)
Else : GoTo A
End If
norle.CopyFile(sourcePath & "*.*", DesPath)
Pfolder = norle.GetFolder(Path)
c = 0
MsgBox("kayıt alındı")
b = 0
aa = 0
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If (b = 1) Then
Dim drvValue As Object
For Each drvValue In norle.Drives
If drvValue.DriveLetter <> "A" Then
If drvValue.IsReady Then
If GetDriveType(drvValue.DriveLetter & ":\") = 2 Then
sourcePath = (drvValue.DriveLetter & ":\")
Call FolderName(sourcePath)
End If
End If
End If
Next
b = 0
Timer1.Stop()
End If
End Sub
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
Me.Hide()
Me.Opacity = 0
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer2.Start()
If Not norle.FolderExists("D:\TacettinNew") Then
norle.CreateFolder("D:\TacettinNew")
Else
Exit Sub
End If
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
For Each d As DriveInfo In allDrives
If d.IsReady Then
Label1.Text = "taktı"
b = 1
c = 1
Timer1.Start()
If d.DriveType = DriveType.Removable Then
yeter = 1
Timer3.Start()
End If
Else
Label1.Text = "çıkardı"
b = 0
c = 0
End If
Next
Timer2.Stop()
Timer2.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
End Class