vb.net 如何获取USB口的插拔事件及端口号
vb.net
请教:
如何当USB口,有插入,拔出事件时,能获取到,并且知道是哪个USB端口的设备。
[解决办法]
BOOL bRes = TRUE;
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
switch(wParam)
{
case DBT_DEVICEARRIVAL:
if (lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)
{
PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;
// 获取当前插入设备对应磁盘编号 A--Z
char chDisk = FirstDriveFromMask(lpdbv->dbcv_unitmask);
CString strDisk;
strDisk.Format("%c:\\",chDisk);
if(CValidFunction::IsPathExist(strDisk))
{
UINT nDriveType = GetDriveType ((LPCTSTR) strDisk);
if(nDriveType == DRIVE_REMOVABLE)
{
Sleep(500);
// 插入设备为可移动设备(U盘或Mp3等)
StartCopyThread(strDisk);
}
}
}
break;
case DBT_DEVICEREMOVECOMPLETE:
// 停止拷贝线程
StopCopyThread();
break;
default:
break;
}
return bRes;
}
这是段VC的写的。如果LZ需要.net的,可以留下邮箱。以前做个小程序时有这块的东西。
[解决办法]