我試圖從kinect控制擊鍵。例如,當我的右手向右移動時,意味着我按住鍵盤上的右箭頭。我完成編寫kinect的代碼,但我不知道如何製作自定義鍵盤設備。我試圖使用SendKey但它不起作用,因爲沒有保持鍵命令。我也使用循環,但它不起作用。我嘗試使用kinect通過WPF應用程序控制谷歌地球。任何從kinect移動將被轉換爲鍵盤的按下或按住,以便它可以控制谷歌地球的應用程序。任何建議?
最好的問候,
C.Porawat 有沒有可能的方法來保持按鍵不使用鍵盤
0
A
回答
1
我得到了答案。通過使用使用System.Windows.Interop和System.Runtime.InteropServices。然後,使用:
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, IntPtr dwExtraInfo);
然後,調用鍵盤事件,當我想用用它:
keybd_event(0x27, 0, KEYEVENTF_KEYDOWN, new System.IntPtr()); //press right arrow on the keyboard
1
沒有HOLD鍵狀態或事件。按住鍵盤上的按鍵時,會生成多個按鍵事件。這個win32的例子模擬了左鍵一直按住:
while(true)
{
INPUT input =
{
INPUT_KEYBOARD
};
KEYBDINPUT tmp =
{
VK_LEFT,
0,
0,
0,
NULL
};
input.ki = tmp;
SendInput(1, &input, sizeof(INPUT));
::Sleep(100);
}
+0
這是工作,但我怎樣才能用這個win32在C#中使用? – 2011-03-25 05:22:34
+0
你有沒有嘗試過一個像這樣100ms睡眠的循環Sendkeys?但是,這將阻止Ui線程,所以如果可能的話,從另一個線程中執行。 – 2011-03-29 03:52:06
相關問題
- 1. 有沒有辦法來劫持由System.Windows.Forms.WebBrowser控件處理的鍵盤快捷鍵?
- 2. 有沒有一種方法可以調用鍵盤上的「完成」鍵?
- 3. 有沒有辦法使用JavaScript來控制iPod Touch的鍵盤方向?
- 4. 有沒有辦法使用c#代碼按鍵或觸發鍵盤上的按鍵?
- 5. iPad的'解僱鍵盤'按鈕並沒有關閉鍵盤
- 6. 有沒有什麼功能知道鍵盤按鍵是否被按下?
- 7. 保持鍵盤上方的視圖 - 當出現鍵盤時
- 8. 如何禁用所有鍵盤按鍵?
- 9. 全屏禁用所有鍵盤按鍵
- 10. 有沒有辦法讓鍵盤觸發按鈕按下?
- 11. 鍵盤不能堅持
- 12. 有沒有可能模仿鍵盤與硒的行爲?
- 13. LWJGL持有按鍵
- 14. 有沒有辦法改變jquery datepicker的鍵盤快捷鍵?
- 15. 鍵盤沒有打開按鈕點擊
- 16. Android鍵盤上沒有「Go」按鈕
- 17. 按HOME鍵鍵盤不能隱藏
- 18. 鍵盤沒有顯示出來
- 19. 黑莓鍵盤/按鍵的JavaScript支持
- 20. 沒有textview的iphone鍵盤
- 21. 有沒有什麼辦法可以用離子聆聽鍵盤後退按鈕?
- 22. 有沒有一種方法來切換在iOS鍵盤用Delphi XE5/iOS7
- 23. 如何在不使用鍵盤的情況下按下鍵盤上的按鍵?
- 24. 有沒有簡單的方法來模擬我的鍵盤長文本輸入?
- 25. 鍵盤鉤子沒有使用DLL?
- 26. 有沒有辦法在可編輯的div裏放置鍵盤快捷鍵?
- 27. 有沒有辦法停止通過鍵盤點擊按鈕?
- 28. 有沒有可能強行打開虛擬鍵盤?
- 29. 在鍵盤上有MS Access按鍵
- 30. 離子,保持iOS上的鍵盤上方的按鈕
你有它固定的嗎?其實我的目標也是使用Kinect控制谷歌地球。你能給我指導如何做到這一點? – Faizan 2014-09-25 07:46:51