我需要捕獲來自楔形設備的關鍵幀並阻止任何控件或表單接收它們。我也需要能夠知道值(char)。我嘗試覆蓋ProcessCmdKey(Keys)和ProcessDialogChar(char)事件。在ProcessCmd事件中,如果它是我想要的一個,我可以禁止擊鍵,但是我不是該事件的參數。在ProcessDialogChar事件中,角色在那裏,但是我無法阻止表單或焦點控件接收密鑰。建議?捕獲擊鍵
Q
捕獲擊鍵
1
A
回答
1
這不是我想要做到這一點,而是因爲我需要解決這個問題並繼續前進,我在窗體上放置了一個隱藏文本框,並且只要我看到指示數據字符串可能開始的字符我想捕捉我將焦點設置到該文本框並響應TextChanged事件。如果我在計時器到期前沒有看到結尾字符,我將清除文本框並重新開始。 Kludge,但它工作,讓我接下來的任務。
5
你要窗體加載過程中添加此:
Application.AddMessageFilter(this);
添加這個常數:
private const int WM_KEYDOWN = 0x100;
而且這種方法:
public bool PreFilterMessage(ref Message m)
{
Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode;
bool retVal = false;
if (m.Msg == WM_KEYDOWN)
{
// Handle the keypress
retVal = true;
}
return retVal;
}
通過返回true,表單和控制(s)永遠不會看到按鍵。
相關問題
- 1. 捕獲鍵擊
- 2. 使用Form1_KeyDown捕獲鍵擊(...)
- 3. 右鍵單擊文本捕獲
- 4. 在Symbian OS上捕獲擊鍵?
- 5. 捕獲鼠標左鍵點擊
- 6. 捕獲右鍵單擊事件
- 7. 捕獲右鍵單擊HTML DIV
- 8. 用於捕獲鍵擊的原子包
- 9. 如何捕獲右鍵單擊事件?
- 10. Javascript捕獲鍵
- 11. 捕獲鍵
- 12. 當消息框啓動時捕獲擊鍵(例如功能鍵)
- 13. 捕獲回車鍵使按鍵點擊使用JavaScript
- 14. 鍵盤按鍵捕獲
- 15. UIWebView - 捕獲點擊
- 16. 捕獲回車鍵
- 17. VB6捕獲Tab鍵
- 18. 捕獲箭頭鍵
- 19. 如何在前景窗口獲取之前捕獲擊鍵?
- 20. 捕獲按鈕單擊WebView
- 21. 純擊替換捕獲組
- 22. 捕獲點擊TreeView項目
- 23. 在NativeWindow上捕獲點擊
- 24. 在ngTable中捕獲雙擊
- 25. 捕獲點擊事件
- 26. 捕獲ComboBox項目單擊
- 27. 捕獲鼠標點擊php
- 28. 捕獲點擊事件
- 29. 在pyGTK中捕獲點擊
- 30. 捕獲評級欄點擊
兩件事情我沒有說清楚:你需要實現IMessageFilter,它有一個方法PreFilterMessage。實際上,您不必在表單上實現此功能,如果您希望實現此界面,則可以創建完全獨立的對象。雖然我不確定,但是在創建表單之前應該能夠調用AddMessageFilter,因爲消息過濾器屬於GUI線程的消息泵。 – jasonh 2009-06-19 00:52:39