我想实现一个简单的操作,打开一个记事本文件,鼠标移动到某个点右键,这是我的代码
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd 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_MOVE = &H1
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Sub Form_Activate()
Dim x As Long
x = ShellExecute(0, "open", "e:\\7.txt", 0, 0, 3)
mouse_event MOUSEEVENTF_ABSOLUTE & MOUSEEVENTF_MOVE, 30000, 30000, 0, 0
mouse_event MOUSEEVENTF_ABSOLUTE & MOUSEEVENTF_RIGHTDOWN & MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
End Sub
但是鼠标会在vb内部右键,而不是记事本内右键,怎么解决
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd 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_MOVE = &H1
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Sub Form_Activate()
Dim x As Long
x = ShellExecute(0, "open", "e:\\7.txt", 0, 0, 3)
mouse_event MOUSEEVENTF_ABSOLUTE & MOUSEEVENTF_MOVE, 30000, 30000, 0, 0
mouse_event MOUSEEVENTF_ABSOLUTE & MOUSEEVENTF_RIGHTDOWN & MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
End Sub
但是鼠标会在vb内部右键,而不是记事本内右键,怎么解决