2009-11-19 110 views
1

我使用Win32_PointingDevice类来检测连接到系统的鼠标。我在有触摸屏的机器上运行我的设备发现脚本。该发现显示了3个定位设备,直接连接的USB鼠标,无线鼠标和触摸屏。我的问题是如何区分带触摸屏的USB鼠标。WMI:如何区分无线鼠标和触摸屏

如果Win32_PointingDevice类不提供信息,那么是否还有其他方法可用于获取鼠标和触摸信息。

这是扩展我刚才的问题在WMI Class for wireless mouse

回答

2

Win32_PointingDevice.PointingType?

还没有尝试过(没有触摸屏),但是Win32_PointingDevice的MSDN文档说PointingType = 8用于指示触摸屏。 (但是,我的鼠标显示为“2”(“未知”)而不是“3”(“鼠标”) - 因此它可能取决于您的触摸屏驱动程序编写者在实现其WMI属性...)

0

也许你可以使用WH_MOUSE_LL/WH_MOUSE钩按功能来获得额外的信息GetMessageExtraInfo()

#define MI_WP_SIGNATURE 0xFF515700 
#define SIGNATURE_MASK 0xFFFFFF00 
#define IsPenEvent(dw) (((dw) & SIGNATURE_MASK) == MI_WP_SIGNATURE) 
#define IsTouchEvent(dw) (((dw) & 0x80) == 0x80) 

if(IsPenEvent(GetMessageExtraInfo()) && IsTOuchEvent(GetMessageExtraInfo())) { 
// do somthing 
}