检测设备是否被禁用

slqit2002 2008-03-03 04:31:47
请问如何用C++检测一个设备是否被禁用了(在设备管理器中显示一个叉)?
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
szmuma 2008-03-23
  • 打赏
  • 举报
回复
支持一下
cnzdgs 2008-03-03
  • 打赏
  • 举报
回复
固定设备可以用CreateFile看能否打开设备。检测所有设备可以通过注册表来判断。(可能还有更直接的方法,但我不清楚)
在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum下面,用RegEnumKeyEx查找所有子键,对每个子键再RegEnumKeyEx查找其下面的子键,在二级子键中可以得到设备的各种信息,再打开二级子键下面的Control子键,如果打不开则说明该设备未被禁用,如果可以打开,查询其DisableCount值,非0表示已被禁用。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧