如何单击键盘上的输入按钮?

时间:2019-12-09 15:04:03

标签: vb.net

除了SendKeys.Send(“ {ENTER}”之外,是否有其他方法可以单击键盘上的ENTER键? 我在VB.net中创建了一个应用程序,该应用程序将创建一行文本,然后使用AppActivate将其发送到另一个应用程序,当使用C ++创建接收应用程序时,它的效果很好。但是,当使用Java创建接收应用程序时,SendKeys.Send(“ {ENTER}”将不起作用。所有文本都将传输到Java应用程序,但是ENTER按钮将不会单击。 还有另一种方法可以单击键盘上的ENTER或对其进行模拟吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您是否尝试过P / Invoke?

例如:

<DllImport("user32.dll", SetLastError:=True, EntryPoint:="PostMessageA")>
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean

Public Const WM_KEYDOWN As Integer = &H0100 'Key Down Event
Public Const VK_RETURN As Integer = &H0D 'Enter Key

Public Shared Sub SendKeyDownEvent(ByVal hWnd As IntPtr, ByVal key As Integer)
    PostMessage(hWnd, WM_KEYDOWN, key, 0)
    System.Threading.Thread.Sleep(500)
End Sub

您可以这样称呼它:

SendKeyDownEvent(handleToApplication, VK_RETURN)

有很多资源可用于获取其他应用程序的句柄: