VC 怎么实现弹出U盘和加载U盘

VC 如何实现弹出U盘和加载U盘
我想做个小工具,实现U盘弹出和U盘连接,和金山U盘卫士一样,哪位大大知道怎么做的,请指教下,谢谢!



VC 怎么实现弹出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