우선 이렇게 폼에 타이머를 놓는다.
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가 연결되는 경우는 고려하지 않은 소스이므로 필요하다면 좀더 수정을 해야 할 것이다.