Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long该按钮需要 WM_LBUTTONDOWN 和 WM_LBUTTONUP 的用SendMessage 点 QQ游戏 里的“开始”按钮,点不了~~~~:(SendMessage Gamehwnd, WM_LBUTTONDOWN, 0, (x And &HFFFF) + (y And &HFFFF) * &H10000
    SendMessage Gamehwnd, WM_LBUTTONUP, 0, (x And &HFFFF) + (y And &HFFFF) * &H10000换了PostMessage,游戏的“开始”按钮可以模拟点击了~~~~:)PostMessage Gamehwnd, WM_LBUTTONDOWN, 0, (x And &HFFFF) + (y And &HFFFF) * &H10000
    PostMessage Gamehwnd, WM_LBUTTONUP, 0, (x And &HFFFF) + (y And &HFFFF) * &H10000但用SendMessage可以点击游戏里的其它东西,例如游戏里的一些道具的图标,游戏界面里一些操作都可以点,为何只有“开始”按钮不能点?(发送消息后,只见“开始”按钮的颜色有变化一下,但没按下开始)
奇怪奇怪,不解不解····有兴趣阁下可以去试试 QQ游戏 里 “连连看” 那个 开始 按钮···
 PostMessage 可以,SendMessage不行····程序可以实现我要的功能了,但确不明白为什么SendMessage不能点开始,但却能够点游戏里的方块······不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解不解

解决方案 »

  1.   

    造我的理解原因可能如下:PostMessage把消息放入队列,不管其他程序是否处理都返回,然后继续执行;返回值表示PostMessage函数执行是否正确;SendMessage必须等待其他程序处理消息后才返回,继续执行,返回值表示其他程序处理消息后的返回值。PostMessage会造成消息的滞后性,SendMessage则不会,但如果SendMessage消息处理失败,则会造成程序停止!