ASCII 정수를 두 개 이상의 문자가있는 키로 변환하려고하면 항상 잘못된 결과가 나타납니다. A -> z/0 -> 9는 올바르게 작동하지만 두 개 이상의 문자가있는 키 누르기는 항상 F1 -> F12/Numlock 0 -> Numlock 9/home 키 등의 잘못된 결과를 나타냅니다.아스키 정수를 해당 키 누르기로 올바르게 변환하려면 어떻게해야합니까?
예 , 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
으로 출력되도록 어떻게 수정해야합니까?
편집, 업데이트 예 :
난 다음에 그 ASCII 정수를 사용하여, 눌러 진 ASCII 정수 결정 GetAsyncKeyState
를 사용하던 응용 프로그램 밖에서 일해야하는 사용자 정의 단축키, 그래서이 코드 bind하지만이 정수를 문자 (이 경우 F3)로 변환해야하므로 사용자는 현재 어떤 키 바인딩이 활성 상태인지 알 수 있습니다.
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