PostMessage向其他窗体发送鼠标单击事件,没反应
etie 2007-11-29 12:49:24 A程序只有一个窗体和一个按钮,点击按钮或者窗体会出现不同内容的对话框,A程序运行后自动最小化。
B程序有一窗体一按钮一文本框,要实现的功能是点击按钮后向A程序发送鼠标单击事件,让A程序弹出对话框
当然A程序运行在先
以下是B程序的代码,运行并点击按钮后A程序并没有弹出对话框来(不管A是否是最小化都没弹出来,-__-!~~~~)
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Sub Command1_Click()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "Test") '获得A程序的句柄
Text1.Text = hwnd '观察是否获得A程序的句柄
PostMessage hwnd, WM_LBUTTONDOWN, 0, (10 And &HFFFF) + (20 And &HFFFF) * &H10000
Sleep 100
PostMessage hwnd, WM_LBUTTONUP, 0, (10 And &HFFFF) + (20 And &HFFFF) * &H10000
End Sub