【发布时间】:2011-01-15 19:03:43
【问题描述】:
我正在开发触摸屏应用程序。该应用程序的目标是当最终用户要在装有 Windows7 的触摸屏设备上的屏幕上进行垂直触摸移动(用手指画一条垂直线)时,所有活动窗口都需要最小化(类似于显示桌面)。我的问题是如何处理在桌面上活动的每个窗口中随处发生的所有 WM_TOUCH 消息。没有 Windows 钩子可以用来接收所有 WM_TOUCH 消息。我尝试使用 WH_GETMESSAGE 希望我可以提取 WM_TOUCH 消息但不起作用,我尝试使用 WH_MOUSE_LL 并获得所有鼠标事件。有一个函数 GetMessageExtraInfo ,我可以使用此代码从哪里看到鼠标消息的启动位置:
如果 ((GetMessageExtraInfo().ToInt32() & MOUSEEVENTF_FROMTOUCH) == 0xFF515700) { textBoxLog.AppendText("asdada"); } 如果这是真的,那么消息由 TouchScreen 设备启动。这仅适用于从我的应用程序(我的应用程序活动窗口)发送的消息,但不适用于我从应用程序窗口外的其他窗口获取的鼠标消息。我正在研究这个主题一段时间,但我仍然无法得到任何答案。因此,如果有人知道如何将所有 WM_TOUCH 消息发送到我的应用程序,请回复。
米哈伊尔
【问题讨论】:
标签: c# winapi visual-studio-2010 windows-7