2011-05-02 39 views
0

我有一個應用程序檢測C#winform上按下的鍵。問題是在客戶端有一些其他的應用程序,它們也檢測到按下的按鍵並禁用它們,因爲我的應用程序的窗體沒有得到按下按鍵的通知。我使用傳統的form.KeyDown事件來檢測密鑰。我怎樣才能比其他應用程序更高的優先級?c#鍵盤按鍵檢測優先級問題

感謝,

MChicago

回答

1

如果你擔心其他應用基本上竊取您的按鍵,那麼你需要考慮Global Hooks這是幾乎可以肯定他們是如何的其他應用程序正在竊取你的。您可以推出自己的代碼或使用別人已經寫過的wrapper library

1

你可能正在爲一場失敗的戰鬥而戰。或者至少是一個不斷升級的。你已經發現其他一些應用程序正在抑制擊鍵。所以你創建一個全局鉤子,以便首先獲得按鍵。但是,其他應用程序發現它不再是第一個,所以它刪除了它自己的全局鉤子,並在你的前面重新安裝。你發現這一點,並再次將自己插入列表前面。 。 。

這是一場沒有人能贏的walls and ladders的比賽。因此,無論是處理應用程序丟失鍵擊還是從客戶端計算機中刪除有問題的應用程序。