WM_DEVICECHANGE使用方法

来源:互联网 发布:maya软件大小 编辑:程序博客网 时间:2024/05/12 04:56
 

WM_DEVICECHANGE的使用方式有二種,一種是透過WindowProc()的方式,一種是直接在程式裡加上OnDeviceChange()的函數,底下就先介紹第二種方式。

1. 新增消息 -- 在Dialog的.cpp裡加上藍色部份:
BEGIN_MESSAGE_MAP(CDeviceMonitorDlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_DEVICECHANGE()
END_MESSAGE_MAP()

注意:不添加新增消息,就不能响应OnDeviceChange函数
2.新增一個函數 -- 這是Microsoft所提供的函數型態
DECLARE_MESSAGE_MAP()
public:
afx_msg BOOL OnDeviceChange(UINT nEventType,DWORD_PTR dwData);

3.函数內容的实现

下面是以USB插入响应为例

BOOL CCLMemTestDlg::OnDeviceChange( UINT nEventType, DWORD_PTR dwData )

{   

     switch(nEventType)

     {

     case DBT_DEVICEARRIVAL:

         UpdateUsbDeviceList();

         break;

     case DBT_DEVICEREMOVECOMPLETE:

         UpdateUsbDeviceList();

         UpdateWindow();

         break;

     }

     return TRUE;

}