2013-08-07 64 views
0

我有IBM ThinkPad筆記本和PCMCIA聲卡。如何捕獲IBM/Lenovo ThinkPad中的音量控制鍵?

音量控制僅適用於集成聲卡。我想通過編寫小應用程序以某種方式修復它。

我試圖找到這些鍵的代碼是這樣的:

private void Form1_KeyUp(object sender, KeyEventArgs e) 
{ 
    labelKeyCode.Text = e.KeyCode.ToString(); 
} 

但是這是行不通的。我沒有得到任何代碼。它看起來像這些鍵不是「鍵盤設備」的一部分。

注意:此代碼僅用於代碼預覽,在我的應用程序中我想使用WINAPI進行全局鍵盤捕獲。

如何捕獲這些密鑰?


編輯:

我試圖反向工程一點,我瀏覽「HKVOLKEY.dll」(文件從IBM熱鍵軟件)的Dependency Walker,但我發現只有2函數名有:RegisterVolumeHotkey和DeregisterVolumeHotkey。

回答

0

我認爲你的方法是錯誤的。但看看這個:Disable Keyboard globally for a WPF Window

由於您的輸入密鑰可能已被註冊,但不是作爲常規輸入,而是作爲控制鍵。

也許這是任何使用,以及一個更直接的方法:http://naudio.codeplex.com/

n音訊是一個開源.NET的音頻和MIDI庫,包含許多旨在加快音頻的發展有用的音頻相關的類.NET中的相關實用程序。

我已經寫了一小段代碼,一旦使用n音訊靜音所有卷:Mute Windows Volume using C#

+0

也許這是不好的想法,但我真的希望這些按鈕:) – Kamil

+0

你看看'禁用鍵盤...窗口的職位?原則上它是一個控制鍵,您可能需要'PreviewKeyDown'事件並設置'PreviewKeyDownEventArgs.IsInputKey = true;'以使該鍵調用其他處理程序,如'KeyDown'。 –

+0

我試過這個事件。它顯示了箭頭鍵碼,但音量控制仍然沒有任何作用。 – Kamil