读书人

vb.net 怎么获取USB口的插拔事件及端口

发布时间: 2012-01-19 20:57:58 作者: rapoo

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的,可以留下邮箱。以前做个小程序时有这块的东西。
[解决办法]

探讨
http://blog.csdn.net/wzuomin/archive/2007/08/08/1731107.aspx

[解决办法]
探讨
引用:
http://blog.csdn.net/wzuomin/archive/2007/08/08/1731107.aspx

根据这位的给的地址弄出来的。。


VB.NET code

#Region "WndProc常量"
Public Const WM_DEVICECHANGE As Integer = &H219
……

读书人网 >VB Dotnet

热点推荐