有什么方法可以捕获 Windows 设备中屏幕(应用程序框架之外)上的触摸输入?
我正在开发 WPF 应用程序,并且可以检索仅发生在应用程序框架内的触摸输入。另外,有没有办法即使在应用程序最小化时也可以注册触摸输入?
WPF 框架没有内置方法可让您侦听应用程序外部的输入。如果您想这样做,则必须进入 p/invoke 领域。
具体来说,您需要创建一个hook https://learn.microsoft.com/en-us/windows/win32/winmsg/about-hooks。你会想看看SetWindowsHookEx https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowshookexa方法和任一WH_MOUSE https://learn.microsoft.com/en-us/windows/win32/winmsg/about-hooks#wh_mouse or WH_MOUSE_LL https://learn.microsoft.com/en-us/windows/win32/winmsg/about-hooks#wh_mouse_ll hooks.
由于您正在处理触摸输入,这个答案 https://stackoverflow.com/a/45473876/5086631可能有一些对您有用的信息:
The lParam
你的论点hookProc
回调是一个指向MSLLHOOKSTRUCT https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-msllhookstruct。它包含一个very记录不足dwExtraInfo
变量,它告诉您它是否是由触摸生成的。
如果所有位都在0xFF515700
被设置在dwExtraInfo
,然后调用回调来响应触摸。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)