簡體   English   中英

在C#中使用可編程鍵?

[英]Using programmable keys in C#?

我想創建一個簡單的應用程序,該應用程序在運行時將等待特定的鍵或鍵的組合,或者甚至鼠標上的按鈕按下。 我正在使用MouseKeyHook API來獲取此信息,但是我遇到了一些問題。

這似乎很不錯,因為我可以將Buttons的字符串值與保存的內容進行比較。 現在是真正的問題開始的地方。 每當我按下鍵盤上的任何可編程按鈕時,都不會得到任何輸出嗎? 為什么?

private void GlobalHookKeyPress(object sender, KeyPressEventArgs e)
{
    HotKey.Text = e.KeyChar.ToString();
}

private void GlobalHookMouseDownExt(object sender, MouseEventExtArgs e)
{
    HotKey.Text = e.Button.ToString();
}

使用MouseKeyHook API進行掛鈎時,我可以同時獲得兩個鼠標按鈕XButton1和XButton2,但鍵盤按鈕卻一無所獲。

在此處輸入圖片說明

鍵盤上的可編程鍵往往使用需要供應商驅動程序軟件的特定API。 該軟件將按鍵映射到轉換為標准操作的一個動作(或一系列動作)。 例如,按X鍵可能相當於連續五次按A鍵,您的軟件應該能夠接聽這5次按。

鼠標按鈕非常通用,我相信Windows API允許8個標准按鈕(請參閱此處API參考 )。 除此之外,還需要特定的供應商驅動程序並映射這些按鈕。

暫無
暫無

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

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