我想在沒有表單的地方檢索Ctrl
鍵的狀態。WinForms檢索沒有窗體/用戶控件的鍵盤狀態
通常要得到一個關鍵的狀態,我會使用Control_KeyDown/KeyUp事件。但是,需要知道Ctrl是否被按下的代碼不在任何形式之中。有一個窗體顯示,但代碼而不是依賴於該窗體,但它自己找到關鍵狀態。
當然有辦法做到這一點,只有我沒有成功地在谷歌上找到它。
請注意,儘管代碼沒有「有」表單可用,但它仍然是一個WinForms應用程序,因此框架可能爲我提供了一些類/對象來實現該目標。
背景:
在應用程序啓動階段,我想,如果Ctrl鍵的那一刻被按下的一個步驟differntly行爲。啓動階段顯示啓動畫面,但啓動的代碼不知道這一點。相反,它會向回調報告進度,並且回調會更新啓動屏幕。
如果我使用啓動畫面來獲取KeyDown事件,我使啓動代碼依賴於該啓動畫面,該啓動畫面引入了循環依賴。我想保留刪除閃屏的自由,並用不同的東西替換。
這是否意味着你的應用程序需要知道,如果Ctrl鍵點擊,無論哪個應用是活動一?所以如果你在任何程序中工作並點擊Ctrl,你想讓你的程序抓住它?在這種情況下,它是一個鍵盤鉤子你以後。如果你確認這一點,我可以給你幾個指示。 – 2010-09-30 10:33:23
@Øyvind:如果另一個應用程序在前面,則不需要注意Ctrl。事實上,如果在這種情況下Ctrl *未註冊,它甚至會更好(請參閱關於我的問題背景的更新)。 – chiccodoro 2010-09-30 11:54:35