WM_DEVICECHANGE使用方式
来源:互联网 发布:微观数据的弊端 编辑:程序博客网 时间:2024/06/05 05:36
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()
2.新增一個函數 -- 這是Microsoft所提供的函數型態
DECLARE_MESSAGE_MAP()
public:
afx_msg BOOL OnDeviceChange(UINT nEventType,DWORD_PTR dwData);
3.函数內容的实现
BOOL OnDeviceChange(UINT nEventType,DWORD_PTR dwData)
{
switch(nEventType)
{
case DBT_DEVICEARRIVAL:
return TRUE;
}
}
4. 在MSDN上的說明
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData
);
Parameters
nEventType
- An event type. See the Remarks section for a description of the available values
- dwData
- The address of a structure that contains event-specific data. Its meaning depends on the given event.
Remarks
For devices that offer software-controllable features, such as ejection and locking, the operating system typically sends aDBT_DEVICEREMOVEPENDINGmessage to let applications and device drivers end their use of the device gracefully.
If the operating system forcefully removes of a device, it may not send a DBT_DEVICEQUERYREMOVE message before doing so.
The nEvent parameter can be one of these values:
- DBT_DEVICEARRIVAL A device has been inserted and is now available.
- DBT_DEVICEQUERYREMOVE Permission to remove a device is requested. Any application can deny this request and cancel the removal.
- DBT_DEVICEQUERYREMOVEFAILED Request to remove a device has been canceled.
- DBT_DEVICEREMOVEPENDING Device is about to be removed. Cannot be denied.
- DBT_DEVICEREMOVECOMPLETE Device has been removed.
- DBT_DEVICETYPESPECIFIC Device-specific event.
- DBT_CONFIGCHANGED Current configuration has changed.
- DBT_DEVNODES_CHANGED Device node has changed.
Note This member function is called by the framework to allow your application to handle a Windows message. The parameters passed to your function reflect the parameters received by the framework when the message was received. If you call the base-class implementation of this function, that implementation will use the parameters originally passed with the message and not the parameters you supply to the function.
- WM_DEVICECHANGE使用方式
- WM_DEVICECHANGE使用方式
- WM_DEVICECHANGE使用方式
- WM_DEVICECHANGE
- 使用HOOK 拦截 WM_DEVICECHANGE消息
- WM_DEVICECHANGE使用方法
- WM_DEVICECHANGE message
- 深入了解WM_DEVICECHANGE消息
- WM_DEVICECHANGE看别人的东东
- HOOK 钩子拦截WM_DEVICECHANGE消息
- vc++中WM_DEVICECHANGE消息函数
- 检测设备状态(WM_DEVICECHANGE)
- VC中添加WM_DEVICECHANGE消息
- HOOK 钩子拦截WM_DEVICECHANGE消息
- vc里面添加WM_DEVICECHANGE消息
- WM_DEVICECHANGE实现USB设备热插拔
- vc++中添加WM_DEVICECHANGE消息函数
- 如何注册USB设备的WM_DEVICECHANGE消息?
- 男人必知的五大为夫之道
- js当中mouseover和mouseout多次触发(非冒泡)
- 利用vbs同时调用多个批处理
- C# OpenCV学习笔记三之图像捕捉及其灰度转换方法
- C++ 对象的内存布局
- WM_DEVICECHANGE使用方式
- 游戏服务器结构探讨
- 中国有哪些开源社区?
- C++程序中获取不带文件路径和后缀的文件名
- 实例iPhone编程入门教程-第八天
- 2007年最受欢迎的资源top100
- Ascii Codes
- 煲个爱心汤
- Numerical Bases