Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
在C#/.NET中为PostMessage()创建WM#U TOUCH消息_C#_.net_Winapi_Multi Touch_Wm Touch - Fatal编程技术网

在C#/.NET中为PostMessage()创建WM#U TOUCH消息

在C#/.NET中为PostMessage()创建WM#U TOUCH消息,c#,.net,winapi,multi-touch,wm-touch,C#,.net,Winapi,Multi Touch,Wm Touch,(有关背景信息,请参见哪个问题与我的问题基本相同,但谁接受的答案实际上没有回答这个问题。棘手的一点不是填充TOUCHINPUT结构,而是制作一个有效的触摸输入句柄。) 我想以一种令人讨厌的黑客方式模拟多点触摸输入设备的存在,其概要如下: while (true) { choose locations etc. for simulated touches; PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...); } 棘手的

(有关背景信息,请参见哪个问题与我的问题基本相同,但谁接受的答案实际上没有回答这个问题。棘手的一点不是填充
TOUCHINPUT
结构,而是制作一个有效的触摸输入句柄。)

我想以一种令人讨厌的黑客方式模拟多点触摸输入设备的存在,其概要如下:

while (true) {
  choose locations etc. for simulated touches;
  PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...);
}
棘手的一点是,在那个标有“…”的空间里会出现什么。从
WM\u TOUCH
消息消费者的角度编写的MSDN文档表示
WM\u TOUCH
消息的
lParam

一种触摸输入手柄,可在调用
GetTouchInputInfo
时使用,以检索与此消息相关的触摸点的详细信息

例如,我可以很容易地制作一组
TOUCHINPUT
结构,这就是
GetTouchInputInfo
提供给您的。但这似乎与“触摸输入手柄”完全不同。(例如,触摸输入手柄需要是传递给
CloseTouchInputHandle
的正确类型,据称
PostMessage
SendMessage
就可以了。)


用户代码是否可能(正式或非正式!)生成一个有效的触摸输入句柄,它可以传递给
PostMessage
如果可以,Windows 8如何在桌面环境中使用TouchInjection API来伪造触摸


说“不行”很难。嗯,不,不可能。你需要SendInput()的等价物,它不存在于touch中。这也是我的猜测!我只是希望会有一些邪恶的非法手段。(例如,可能一个触摸输入手柄实际上只是一个指向一堆触摸输入结构的指针——尽管这需要一些极不可能的魔法,因为指针不能在进程之间有意义地传递。)你的“不可能”是指“不合法的方式”还是“绝对不可能,包括讨厌的黑客”?