Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 WM_TOUCH不会随触地事件立即发送_Windows 7_Touch - Fatal编程技术网

Windows 7 WM_TOUCH不会随触地事件立即发送

Windows 7 WM_TOUCH不会随触地事件立即发送,windows-7,touch,Windows 7,Touch,我正在使用触摸屏和Windows7内置驱动程序(因为它从未提示我安装任何驱动程序)。除了一个小问题外,它工作正常。当我触摸屏幕时,它不会发送WM_LBUTTONDOWN,直到我将手指从屏幕上移开。这样做似乎是为了确定我是否打算坚持下去模仿WM_RBUTTONDOWN。(此外,我尝试禁用按住模拟手势,但在实践中从未禁用。) 所以我想我只会收到WM_TOUCH的信息。我发现WM_TOUCH(0x240)也不会发送到我的窗口,直到我将手指从屏幕上移开。我认为这完全违背了WM_TOUCH的目的 在注册接

我正在使用触摸屏和Windows7内置驱动程序(因为它从未提示我安装任何驱动程序)。除了一个小问题外,它工作正常。当我触摸屏幕时,它不会发送WM_LBUTTONDOWN,直到我将手指从屏幕上移开。这样做似乎是为了确定我是否打算坚持下去模仿WM_RBUTTONDOWN。(此外,我尝试禁用按住模拟手势,但在实践中从未禁用。)

所以我想我只会收到WM_TOUCH的信息。我发现WM_TOUCH(0x240)也不会发送到我的窗口,直到我将手指从屏幕上移开。我认为这完全违背了WM_TOUCH的目的

在注册接收WM_TOUCH信息之前和之后,我在触摸屏幕时立即收到三条信息:

1. Send: 0x02CC (undocumented tablet messages)
2. Post: 0x011B (undocumented)
3. Send: 0x011A (WM_GESTURENOTIFY)
0x011A是WM_GESTURENOTIFY,我的代码要响应哪个(也许我没有正确响应?)。我使用标准响应(使用MS的示例代码)进行回复,以接收完整的通知

另一件事,当我注册触摸信息时,我开始收到WM_TOUCH,但我也继续收到WM_GESTURENOTIFY信息。根据MS文档,一旦我注册获得WM_TOUCH,我就不再收到手势信息


如果有人能告诉我如何立即获得WM_TOUCH消息(例如,当我收到WM_GESTURENOTIFY消息时),而不是在我将手指从触摸屏上拿开之后,我将不胜感激。

我几乎遇到了同样的问题,并通过使用以下方法解决了它:


注册表触摸窗(hWnd、TWF_WANTPALM)

查看有关触摸事件的本教程:

您要使用的是
RegisterTouchWindow
功能,例如:

RegisterTouchWindow(handle, 0);

Windows现在将向您的窗口发送
WM\u TOUCH
消息,而不是
WM\u手势
消息。请记住,您必须针对Windows SDK 7.0版或更高版本进行编译才能使其正常工作。

我现在就是这么做的。实际上,我在XP中使用WM_手势,在Win7中使用WM_触摸。这会增加皱纹,但效果非常好。