close

 

 

由於工作上有用到這個東西,然後查了一下自己的文章似乎沒有提到這玩意,於是就想說乾脆來寫一篇關於DeviceChange的文章了。

 

讓我這裡就快速教學吧,因為,這玩意真心不難啊啊啊啊啊...................

 

 

 

 

Step1.  #include <dbt.h>

Step2. 在.h裡面新增 afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData); 和 HDEVNOTIFY  m_hDevNotify;

Step3. 

BEGIN_MESSAGE_MAP(xxxxxxxxxDlg, CDialogEx)

    ON_WM_DEVICECHANGE() <-------------------新增這個

END_MESSAGE_MAP()

 

Step4. 主體

BOOL xxxxxxxxxDlg::OnDeviceChange(UINT nEventType, DWORD_PTR dwData) {
    BOOL bRet = FALSE;
    switch (nEventType)
    {
        case DBT_DEVICEARRIVAL:
        {
            DBG("DBT_DEVICEARRIVAL\n");
            break;
        }
        case DBT_DEVICEREMOVECOMPLETE:
        case DBT_DEVICEQUERYREMOVE:
        {
            DBG("Remove\n");
            break;
        }
    }
    return bRet;
}

 

Step5. 釋放掉


void xxxxxxxxxDlg::OnDestroy()
{



    if (NULL != m_hDevNotify)
    {
        UnregisterDeviceNotification(m_hDevNotify);
        m_hDevNotify = NULL;
    }
    CDialogEx::OnDestroy();
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Eric 的頭像
    Eric

    一個小小工程師的心情抒發天地

    Eric 發表在 痞客邦 留言(0) 人氣()