VC 怎么实现弹出U盘和加载U盘
VC 如何实现弹出U盘和加载U盘
我想做个小工具,实现U盘弹出和U盘连接,和金山U盘卫士一样,哪位大大知道怎么做的,请指教下,谢谢!
------解决方案--------------------
没干过。不过网上一搜不少啊。楼主有没有试试啊?
比如
http://download.csdn.net/detail/polarbearsz/5415431
------解决方案--------------------
我用WTL写的,跟MFC差不多,思路跟消息都是一样的。
MainDlg.h:
MainDlg.cpp:
PS: g_usbDevGuid就是你的USB的GUID
我想做个小工具,实现U盘弹出和U盘连接,和金山U盘卫士一样,哪位大大知道怎么做的,请指教下,谢谢!
------解决方案--------------------
没干过。不过网上一搜不少啊。楼主有没有试试啊?
比如
http://download.csdn.net/detail/polarbearsz/5415431
------解决方案--------------------
我用WTL写的,跟MFC差不多,思路跟消息都是一样的。
MainDlg.h:
BEGIN_MSG_MAP(CMainDlg)
MESSAGE_HANDLER(WM_DEVICECHANGE, OnDeviceChange)
END_MSG_MAP()
LRESULT OnDeviceChange(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
MainDlg.cpp:
LRESULT CMainDlg::OnDeviceChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/)
{
TRACE_FN_SCOPE;
PDEV_BROADCAST_DEVICEINTERFACE pdbUSBDevInfo = (PDEV_BROADCAST_DEVICEINTERFACE)lParam;
switch(wParam)
{
case DBT_DEVICEARRIVAL:
if( (pdbUSBDevInfo != NULL) && (pdbUSBDevInfo->dbcc_devicetype == DBT_DEVTYP_DEVICEINTERFACE) )
{
TRACE(INFO, L"Device Type is matched, next check class guid[in].");
if( IsEqualGUID( pdbUSBDevInfo->dbcc_classguid, g_usbDevGuid ) )
{
// add your code
}
}
break;
case DBT_DEVICEREMOVECOMPLETE:
if( (pdbUSBDevInfo != NULL) && (pdbUSBDevInfo->dbcc_devicetype == DBT_DEVTYP_DEVICEINTERFACE) )
{
TRACE(INFO, L"Device Type is matched, next check class guid[out].");
if( IsEqualGUID( pdbUSBDevInfo->dbcc_classguid, g_usbDevGuid ) )
{
}
}
break;
default:
break;
}
}
PS: g_usbDevGuid就是你的USB的GUID