用PostMessage模拟鼠标事件
我用PostMessage模拟鼠标事件写了以下程序模拟鼠标右键单击弹出菜单,但不知为何在记事本上没有任何反应呢?大虾帮忙呀!
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Point) As Integer
Public Const MK_RBUTTON As Integer = &H2
Public Const WM_RBUTTONDOWN As Integer = &H204
Public Const WM_RBUTTONUP As Integer = &H205
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'获取记事本窗口句柄
g_WindowHwnd = FindWindow(vbNullString, "1.txt - 记事本")
'判断记事本是否打开
If g_WindowHwnd = 0 Then
MsgBox("请打开记事本!")
Exit Sub
End If
Dim po2 As Point
po2.X = 300
po2.Y = 10
PostMessage(g_WindowHwnd, WM_RBUTTONDOWN, MK_RBUTTON, po2)
PostMessage(g_WindowHwnd, WM_RBUTTONUP, MK_RBUTTON, po2)
End Sub