우선 이렇게 폼에 타이머를 놓는다.
USB 드라이브를 찾을수는 있지만, 연결 시점을 바로 알아차릴수는 없으므로, 주기적으로 연결여부를 체크해야 한다.
Option Explicit
Private Sub Form_Load()
Label1.Caption = "USB 없음"
Timer1.Enabled = True
Timer1.Interval = 5000
End Sub
Private Sub Timer1_Timer()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim objDrive As Object
Dim strDrive As String
Dim boolUSB As Boolean
strDrive = ""
boolUSB = False
For Each objDrive In FSO.Drives
If objDrive.DriveType = 1 Then
If objDrive.ISREADY = True Then
strDrive = objDrive.DriveLetter
boolUSB = True
End If
End If
Next
If boolUSB = True Then
Label1.Caption = "USB 가 " & strDrive & ": 드라이브로 연결되었습니다."
Else
Label1.Caption = "USB 없음"
End If
End Sub
그리고 위와 같이 체크한다.
실질적으로는 빨간색 테두리 부분이 USB 드라이브 연결 여부를 체크하는 부분.
즉, objDrive.DriveType = 1 이면 USB 드라이브 이며.
objDrive.ISREADY = True 이면 해당 드라이브를 사용 할 수 있는 상태라는 것이다.
요걸 실행 시켜보면...
최초 실행시에는 이렇다가...
메모리 스틱을 연결하고 그것을 드라이브로 인식이 되면, 해당 드라이브의 드라이브 명을 찾아 온다.
일반적으로 메모리 스틱이나 외장형 하드 같은 USB 로 인식이 되는 드라이브는 다 찾아 낸다.
물론 이 소스는 여러개의 USB가 연결되는 경우는 고려하지 않은 소스이므로 필요하다면 좀더 수정을 해야 할 것이다.



