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