簡體   English   中英

如何模擬按下自定義鍵盤鍵

[英]How to simulate pressing a custom keyboard key

我有擴展的鍵盤,我想模擬切換鍵盤模式的特殊鍵的按鍵操作。 為此,我認為我需要找出關鍵代碼,但無法弄清楚如何獲得它。 這是我鍵盤上的一個額外鍵,不是ConsoleKey enum一部分,並且我發現捕獲鍵的唯一功能與此enum

如果按鍵執行了諸如更改鍵盤顏色之類的操作,則將取決於計算機上是否也有可以執行此操作的軟件。 如果不是這樣,則可能只是本地切換到鍵盤,並且該鍵不在鍵盤本身(以太)的鍵盤映射上。

如果更改了其他內容,則取決於設備是否有驅動程序軟件,或者是否使用默認的Windows驅動程序。
如果使用已安裝的軟件,則可能是自定義事件(如某些操縱桿一樣),並且僅當您使用對鍵盤制造商分發的庫的引用時才能找到。 如果不是,則切換模式可能是與鍵盤固件綁定的“重映射”模式,並且僅更改受影響的鍵發送哪個KeyDown事件。 如果這是真的,Windows甚至無法查看鍵盤的打開狀態。

我會說功能鍵更改的邏輯在鍵盤本身上。 例如,筆記本電腦上的Fn鍵本身不會引發任何鍵盤事件,但是當與某些其他鍵組合使用時,會將鍵碼與觸發某些功能的鍵碼一起發送到OS。

舉例來說,在我的鍵盤Fn + Left降低音量,但發送到OS的虛擬鍵VK_VOLUME_DOWN (見這個虛擬鍵的列表。)

好消息是,您可以單獨測試按鍵,以查看將哪些按鍵代碼發送到操作系統! 為此,您可能想使用P / Invokes設置一個低級鍵盤hook )。

在CodeProject上有一個教程可能對您有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM