我想在VB.Net中的虛擬鍵語句中使用變量,但我不斷收到錯誤。什麼是正確的語法?如果沒有變量,代碼如下:如何在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和「從字符串」VK_1「轉換爲鍵入」整數「無效。」
我已經試過:
keybd_event(VK_digit, 0, 0, 0)
但是得到了錯誤「VK_digit沒有宣佈它可能無法訪問由於其保護級別。」
我也嘗試將sting轉換爲字節並在字符串上使用Integer.Parse,但也導致了錯誤。
太好了,謝謝!你的兩個解決方案對我來說都很好。我從來沒有想過這件事。 – user3080392
@ user3080392:我很樂意幫忙!第二種方法將字符串解析爲鍵枚舉,這意味着只要您爲其中一個鍵編寫了正確的名稱,就可以使用它。例如'「ControlKey」將被解析爲'Keys.ControlKey' - 因爲如果您使用大小寫字母_(由當前設置爲「True」的參數指定)無關緊要,您可以使用任何一種套管。例如''controlKEy'''也可以。 –