2012-12-13 40 views
4

我希望有人可以幫助我模擬C#中的功能組合鍵,在這種情況下,FN + F4如何模擬使用C#的功能組合鍵?

這是我正在嘗試做的......我有一個較老的觸摸屏上網本,我最近安裝了Windows 8。它有一個旋轉屏幕,所以你可以把它摺疊起來,像平板電腦一樣使用它。 Windows 8運行得非常好。我有一些小問題,其中大部分是我能夠解決的,但其中一個仍然存在。

當您首次啓動上網本或將其從睡眠中喚醒時,屏幕亮度爲30%,Windows認爲這是最大設置,因此通過正常方法提高屏幕亮度不起作用。在我的上網本上,按FN + F4,將屏幕恢復到完全亮度。但這是一個小問題,因爲我需要使用物理鍵盤來回旋轉屏幕以固定亮度,當我想將它放在平板電腦位置並儘量減少磨損時。

我想要做的是編寫一個啓動時運行的小應用程序,並模擬功能組合鍵,以便自動恢復亮度。任何建議將不勝感激。謝謝。

+2

雖然這不是你的問題的答案,但也許只是使用代碼,直接調整亮度:http://www.codeproject.com/Articles/47355/Setting-Screen-Brightness-in-C –

回答

2

FN鍵不是像其它改性劑真實鍵盤鍵(ALTCTRL)也不是像F1一個功能鍵 - F12FN密鑰是一個硬件唯一的密鑰,它只是簡單地告訴硬件發送不同的按鍵,而按下的按鍵則爲FN

所以,你將不得不手動調整亮度,如評論中所述的「m-y」或通過其他機制。

參考Link.

4

FN關鍵不是從鍵盤向計算機發送鍵。它實際上用於更改鍵盤上按鍵的含義(例如,當按下鍵時,鍵盤會發送不同的掃描代碼,並按住Fn )。

您應該能夠輕鬆編寫一個簡單的Windows窗體程序來監聽按鍵並顯示接收到的內容。註冊參加KeyDown活動。您的處理程序收到的KeyEventArgs具有各種屬性,您可以檢查以查看正在接收的內容。

+0

亮度調整可能是在驅動程序級別完成的,如果出現這種情況,掃描代碼將不會有太大幫助 – emartel

+0

@emartel:在我的Acer筆記本電腦上,使用'showkey',亮度下降寄存器爲'0xe0 0x4c','0xe0 0xcc'而同樣的鍵('←')沒有'Fn'則註冊爲'0xe0 0x4b',註冊爲'0xe0 0xcb'。 –

+0

是的,但你如何注入回來? – emartel