相关疑难解决方法(0)

Win32 API函数以编程方式启用/禁用设备

我正在编写一个小型C#应用程序,以便在检测到其他鼠标设备时禁用设备(我的笔记本电脑触摸板),如果未检测到鼠标,则再次启用触摸板.我甚至无法在设备管理器中禁用触摸板(它在默认的鼠标类驱动程序上运行).

我正在进入设备驱动程序开发,所以我想也许我可以编写一个小的过滤器驱动程序,它只接受IOCTL来启用和禁用在设备堆栈上传递鼠标事件消息,并通过原始PDO从用户模式获取消息.但是,我问了这个问题,并且有人建议我可以通过SetupDi ..函数在usermode中执行此操作.这将是非常好的,因为这种原始的PDO通信方法是一个可以使用的PITA.

我以前只使用过SetupDiGetClassDevs,而且有很多这样的人,对于这部分Win32 API有更多经验的人可以快速告诉我应该调用什么来停止/禁用鼠标设备或其界面,或者是否有在框架的黑暗角落某处可以做到这一点(也许在WMI?).

更新(2009年9月24日)我想出了如何使用过滤器驱动程序执行此操作并发布了我在原始问题上的操作方式.我仍然想知道是否可以直接从Win32启用或禁用设备,如果可以,如何 - 所以我将打开这个问题.

.net c# windows pinvoke winapi

44
推荐指数
2
解决办法
6万
查看次数

如何禁用系统设备?

有没有办法从C#.NET禁用系统设备.

当您转到设备管理器并以此方式禁用设备时,基本上是模拟的吗?

我假设有一个我可以调用的WinAPI函数,但我不知道它是哪一个?

我需要这样做的原因是我需要在再次启用设备后禁用并直接启用.

我需要在Windows XP和Vista(x86和x64)中工作.我看了一下名为"DevCon"的东西,但它似乎不适用于Vista x64.

谢谢.

有关答案,请参阅此处:如何以编程方式禁用系统设备?

.net c# operating-system device

15
推荐指数
2
解决办法
3万
查看次数

标签 统计

.net ×2

c# ×2

device ×1

operating-system ×1

pinvoke ×1

winapi ×1

windows ×1