Я пытаюсь использовать переменную в выражении Virtual-Key в VB.Net, но постоянно получаю ошибки. Каков правильный синтаксис? Без переменной код выглядит так:
<DllImport("user32.dll")> _
Public Shared Sub keybd_event(bVk As Byte, bScan As Byte, dwFlags As UInteger, dwExtraInfo As UInteger)
End Sub
Const VK_1 As Integer = &H31
keybd_event(VK_1, 0, 0, 0)
keybd_event(VK_1, 0, KEYEVENTF_KEYUP, 0)
Я пытаюсь сделать:
keybd_event(digit, 0, 0, 0)
keybd_event(digit, 0, KEYEVENTF_KEYUP, 0)
где "цифра" - переменная. Я пробовал:
Dim digit as Byte = "VK_" & 1
Dim digit as Integer = "VK_" & 1
Dim digit as String = "VK_" & 1
Но я получаю сообщение об ошибке: «Преобразование из строки «VK_1» в тип «Byte» недопустимо». и «Преобразование строки «VK_1» в тип «Целое число» недопустимо».
Я пробовал:
keybd_event(VK_digit, 0, 0, 0)
Но получил ошибку "VK_digit не объявлен. Он может быть недоступен из-за его уровня защиты".
Я также пытался преобразовать жало в байты и использовать Integer.Parse в строке, но это также вызвало ошибки.