(有關背景知識,請參閱Composing a WM_TOUCH message for SendMessage(), Kinect as a multi-touch device,它基本上與我的問題基本相同,但其接受的答案實際上並不回答問題。 TOUCHINPUT
結構,但做一個有效的觸摸輸入句柄)在C#/ .NET中爲PostMessage()創建WM_TOUCH消息
我想模擬多點觸摸輸入設備的存在在一個討厭的hackish的方式,這在輪廓是這樣的:
while (true) {
choose locations etc. for simulated touches;
PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...);
}
的棘手的一點是在那個標有「...」的空間裏。 MSDN文檔,這是勿庸置疑從一個WM_TOUCH
的消費者的消息的點寫,說,lParam
爲WM_TOUCH
信息是,可以在呼叫過程中用來GetTouchInputInfo
觸摸輸入手柄以檢索關於與該消息相關聯的觸摸點的詳細信息。
我可以很容易地做出,例如TOUCHINPUT
結構的數組,這就是GetTouchInputInfo
給你的結果。但是,這似乎與「觸摸輸入句柄」完全不同。 (例如,觸摸輸入句柄必須正確類的事情傳遞給CloseTouchInputHandle
,據稱PostMessage
或SendMessage
就行了。)
是否有可能(正式或非正式的!)的用戶代碼來生成一個有效觸摸輸入句柄,它可以傳遞給PostMessage
?如果是這樣,怎麼樣?
說「不行」很難做到。嗯,不,沒辦法。你需要相當於SendInput(),它不存在觸摸。 – 2013-02-27 18:18:15
這也是我的猜測!我只是希望可能有一些邪惡的無證方法來做到這一點。 (例如,也許觸摸輸入句柄實際上在引擎蓋下,只是一個指向一堆TOUCHINPUT結構的指針 - 儘管這需要一些非常不可思議的魔法,因爲在進程之間不能有意義地傳遞指針。)您的「否方式「是指」沒有合法的方式「或」絕對沒有辦法,包括討厭的黑客「? – 2013-02-28 09:27:29