有没有办法在Windows设备中捕获屏幕上(应用程序框架外部(上的触摸输入?
我正在开发一个 WPF 应用程序,如果触摸输入仅发生在应用程序框架内,则可以检索触摸输入。另外,有没有办法在应用程序最小化的情况下注册触摸输入?
WPF 框架没有内置方法可用于侦听应用程序外部的输入。如果你想这样做,你必须进入p/invoke领域。
具体来说,你需要创建一个钩子。您需要查看SetWindowsHookEx
方法以及WH_MOUSE
或WH_MOUSE_LL
钩子。
由于您正在处理触摸输入,因此此答案可能会为您提供一些有用的信息:
hookProc
回调的lParam
参数是指向MSLLHOOKSTRUCT
的指针。它包含一个记录非常差的dwExtraInfo
变量,它告诉您它是否是从触摸生成的。如果
0xFF515700
中的所有位都设置为dwExtraInfo
,则调用回调是为了响应触摸。