3
컴퓨터에 연결된 USB 장치를 감지해야하는 응용 프로그램에서 작업하고 있습니다. 인터넷에서 검색 한 후 다음 코드를 얻었습니다.USB를 찾지 못했습니다.
Public Class Form1
Private Const WM_DEVICECHANGE As Integer = &H219
Private Const DBT_DEVICEARRIVAL As Integer = 32768
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_DEVICECHANGE Then
If m.WParam = DBT_DEVICEARRIVAL Then
MessageBox.Show("Removable Drive Detected")
End If
End If
MyBase.WndProc(m)
End Sub
End Class
이 코드는 정상적으로 작동합니다.
그러나 문제는 USB 장치가 먼저 연결되고 나중에 응용 프로그램이 시작되면 USB 장치를 감지하지 못하는 것입니다. 해결 간단
로 이동 당신은 VB6 태그를 제거하고 VB를 추가해야합니다 .net 태그 대신. –
@ user3561262이 코드는 장치 * - * 모든 장치, USB 또는 비 USB가 컴퓨터에 연결된 경우에만 탐지합니다. –
두 가지 작업을 수행해야합니다. 첫째, 모든 장치 목록을 가져오고 둘째, 위의 코드를 사용하여 장치를 다시 검색합니다. 이것을 첫 번째로보십시오. http://stackoverflow.com/a/3331509/231316 –