當我嘗試將ASCII整數轉換爲具有多個字符的鍵時,我總是得到不正確的結果。 A - > z/0 - > 9正常工作,但任何具有多個字符的按鍵總是給出不正確的結果,例如F1-> F12/Numlock 0-> Numlock 9/Home鍵等。如何正確地將ascii整數轉換爲相應的按鍵?
示例爲F3
ASCII碼爲114
,但是當我轉換114
字符它總是輸出的R
代替F3
這類似於什麼我都試過的東西:
(它在這個例子似乎無用,但該ISN我完全不知道如何使用它)
Dim bind = "114" '(F3) depending on user input
Dim c As Char = bind 'Convert the ASCII integer(bind) to character(c)
TextBox1.text = c 'which in this case outputs as "r"
如何解決此問題以便114/any other key that has more than one character
將輸出爲F3/their correct value
?
編輯,更新例如:
該代碼可用於用戶定義的快捷鍵,其需要的應用程序之外的工作,所以我用GetAsyncKeyState
以確定哪個ASCII整數被按下,然後使用針對該ASCII整數綁定,但我還需要將該整數轉換爲字符(本例中爲F3),以便用戶知道哪個keybind當前處於活動狀態。
Do
ExitLoop = False
For i = 0 To 255
result = 0
result = GetAsyncKeyState(i)
If result = -32767 Then
Dim c As Char = Chr(i) ' Convert ASCII integer to char.
Bind1.Text = c
Shortcut1 = i
ExitLoop = True
End If
Next i
Loop While ExitLoop = False
_114_是'r' [I相信](http://www.theasciicode.com.ar/ascii-printable-characters/lowercase-letter-r-minuscule-ascii-code-114.html)以及是F3。 – Bugs
是的,114是小寫字母r的ASCII碼。查看此圖片以查看關鍵代碼的完整視圖https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/ASCII-Table-wide.svg/1280px-ASCII-Table-wide.svg.png – David
你是說他們可以輸入114,你想知道角色是什麼?在F3鍵上使用相同的邏輯?他們輸入一個等於F3鍵的數字? – Bugs