繁体   English   中英

如何在vb.net中模拟空格键

[英]How to simulate spacebar in vb.net

我有

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Public Enum KeyDef
    VK_SPACE = &H20
End Enum
     If My.Computer.Keyboard.AltKeyDown Then
        keybd_event(&H20, 0, 0, 0)
        keybd_event(&H20, 0, KEYEVENTF_KEYUP, 0)
     End If

我希望它模拟按下alt键时按下的空格键。 但是,每当我按下alt键时,我都会收到“ PInvokeStackImbalance:”错误。

由于没有关于您的问题的活动,因此这是一种在按Alt键时模拟被按下的空格键的简便方法。

首先转到Nuget并下载软件包Input Simulator并将其添加到您的项目中。
添加后,应该可以使用WindowsInput导入项目代码。

请参见下面的示例。

Imports WindowsInput
Public Class Form1
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
    Dim SIM = New WindowsInput.InputSimulator()
    If e.Alt = True Then
        SIM.Keyboard.KeyPress(WindowsInput.Native.VirtualKeyCode.SPACE)
        MessageBox.Show("ALT HAS BEEN PRESSED, SPACEBAR BUTTON PRESSED")
    End If
End Sub
End Class

我相信@Visual Vincent的评论是必经之路,但是,如果您没有太多经验,只是想quick fix ,这应该很好,您可能需要进行一些更改,但是希望这可以使您走上正确的道路。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM