参考一下,或许有用:
RegisterDeviceNotification
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListEx
SetupDiCreateDeviceInterfaceRegKey
SetupDiDeleteDeviceInterfaceData
SetupDiDeleteDeviceInterfaceRegKey
SetupDiDestroyDeviceInfoList
SetupDiEnumDeviceInterfaces
SetupDiGetClassDevs
SetupDiGetClassDevsEx
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiOpenClassRegKeyEx
SetupDiOpenDeviceInterface
SetupDiOpenDeviceInterfaceRegKey
UnregisterDeviceNotification
RegisterDeviceNotification
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListEx
SetupDiCreateDeviceInterfaceRegKey
SetupDiDeleteDeviceInterfaceData
SetupDiDeleteDeviceInterfaceRegKey
SetupDiDestroyDeviceInfoList
SetupDiEnumDeviceInterfaces
SetupDiGetClassDevs
SetupDiGetClassDevsEx
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiOpenClassRegKeyEx
SetupDiOpenDeviceInterface
SetupDiOpenDeviceInterfaceRegKey
UnregisterDeviceNotification
解决方案 »
- 获取硬盘厂商等信息
- 桌面绘图如何不被刷新
- "进程防火墙“"不知道有没有人会做这样的软件,能做出一样的功能来吗!
- 求怎样点击一个按钮,弹出一个定义好的窗口代码
- 高分求原代码;《跟着实例学Visual c++ 6.0 访问数据库 绘图 制表》配书光盘代码
- 如何CString类型的字符串赋值给BYTE数组。
- 求助:CString对象的属性框出不开,其他类型的也是如此。但前几天定义的对象的属性框正常
- r
- 如何编程实现对音量控制里的,如 wave,line in等,控制它们的静音与不静音?(注意:静音不等于将音量调到最低).
- 怎样使某个控件无效?
- 如何让程序在进入安全模式也可以自动执行,并且自动关机?
- 紧急求助网络编程方面的英文版文章!!!
CWnd::OnDeviceChange
afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData );The nEvent parameter can be one of these values :DBT_CONFIGCHANGECANCELED
DBT_CONFIGCHANGED
DBT_DEVICEARRIVAL
DBT_DEVICEQUERYREMOVE
DBT_DEVICEQUERYREMOVEFAILED
DBT_DEVICEREMOVECOMPLETE
DBT_DEVICEREMOVEPENDING
DBT_DEVICETYPESPECIFIC
DBT_QUERYCHANGECONFIG
DBT_USERDEFINED
WM_DEVICECHANGEdwData parameter is The address of a structure that contains event-specific data. Its meaning depends on the given event.这样可以得分了吧,哈哈
不知道你是怎样作的?说来听听
就用串口为例子吧
比如我们要禁用串口com1
我们可以在设备列表里面选中Com1然后在他的属性里面选择禁用
这个时候在其实windows就会发出WM_DEVICECHANGE这消息,最重要的是也在注册表
里面产生了如下的键
在\HKEY_LOCAL_MACHINE\Config\0001\Enum\BIOS\*PNP0501\下出现用户变更设备配置的
键值,在握的机器里面是0B(不同的机器可能会不同),这个时候他的键CSConfigFlags的键值
为 01 00 00 00
如果我们现在把com1启用,这个时候再来看看CSConfigFlags的键值,这时候变成了
00 00 00 00
所以我在程序中只要修改这个CSConfigFlags的键值就可以实现了com1的禁用和启用了.
我kao,我们在这里讨价还价啊,嘿嘿
随你了,没什么的
现在怎么办啊?
难道又要见者有份阿???
在
http://www.csdn.net/expert/Topic/49885.shtm