我无法使用excel vba单击屏幕上的键盘

我想使用sendkeys发送键盘到远程terminal应用程序。

这不起作用。

经过一番调查后,很明显这是一个相当普遍的问题。

我发现有人发布了他们使用屏幕键盘来模拟点击并成功地将击键传递给远程机器。

这对我来说很好用,但我无法通过屏幕键盘来识别点击。

这里有一些代码,我只是尝试使用屏幕上的键盘input数字4在Excel中的单元格。

代码移动到单元格A1并单击它,然后移动到osk上的数字4,但没有点击据我所知。

谢谢你的帮助

Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long,ByVal y As Long) As Long Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal dwExtraInfo As Long) Const MOUSEEVENTF_LEFTDOWN As Integer = 2 Const MOUSEEVENTF_LEFTUP As Integer = 4 Private Type pointapi x As Long y As Long End Type Sub test() ' Cursor Position 61, 206 is cell A1 on the excel sheet SetCursorPos 61, 206 Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 'click left mouse Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 'release left mouse ' Cursor Position 255, 937 is the number 4 on the on screen keyboard SetCursorPos 255, 937 Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 'click left mouse Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 'release left mouse End Sub