给其他进程发送鼠标双击消息怎么不行?下面是我的代码HWND hwnd = GetProcessMainWnd(4772);//获取进程号4772的句柄
CWnd::FromHandle(hwnd)->SetForegroundWindow(); //4772置放到最前端
CWnd::FromHandle(hwnd)->SetFocus();while(1)
{
Sleep(5*1000);
CWnd::FromHandle(hwnd)->SetFocus();
SetCursorPos(780,240);              //移动鼠标到 (780,240)
PostMessage(hwnd, WM_KEYDOWN, VK_F9, 0); //发送F9消息,这个消息接收到了
//Sleep(10);
PostMessage(hwnd, WM_LBUTTONDBLCLK, 0,0);//双击消息,这个没反应!!!!!!!!
}

解决方案 »

  1.   

    PostMessage(hwnd, WM_LBUTTONDBLCLK, 0,0);//双击消息,这个没反应!!!!!!!! 
    是不是0,0 要改成坐标参数?这个参数怎么写?
      

  2.   

    PostMessage(hwnd, WM_LBUTTONDBLCLK, 0, MAKELONG(x, y));
      

  3.   

    在BOOL CRq::PreTranslateMessage(MSG* pMsg)函数里定义试试
      

  4.   

    是发给mainWnd 还是 控件的Wnd? 我获取的是mainWnd!
      

  5.   

    PostMessage(hwnd, WM_LBUTTONDBLCLK, 0,0);//双击消息,这个没反应!!!!!!!! 
    ===========
    这个消息发过去时的位置由最后的参数决定,你发个0过去,对方收到的消息指定的位置在(0,0)处,并不是你前面用SetCursorPos(780,240); 指定了位置,对方程序就按你指定的来解析,对方程序收到消息时对消息的解析是看消息附带的参数的。
      

  6.   

    知道主窗口的HWND 怎么获取所属控件的HWND?
      

  7.   

    搂住不知知道控件坐标了吗,那就直接windowformpoint就可以抓到控件的handle了。
      

  8.   


    int i = 0;
    int x = 780;
    int y = 240; vector<HWND> vecHwnd;
    vecHwnd.push_back(hwnd); HWND chldWnd = ::FindWindowEx(hwnd, NULL, NULL, NULL);
    while( NULL != chldWnd)
    {
    vecHwnd.push_back(chldWnd);
    chldWnd = ::FindWindowEx(hwnd, chldWnd, NULL, NULL);
    }
    i = vecHwnd.size();
    CWnd * tmp;
    while(1)
    {
    SetCursorPos(x,y);
    for(i=0; i<vecHwnd.size(); ++i)
    {
    Sleep(2000);
    tmp = CWnd::FromHandle(vecHwnd[i]);
    tmp->SetForegroundWindow();
    tmp->SetActiveWindow();
    //tmp->SetFocus();
    PostMessage(vecHwnd[i], WM_LBUTTONDBLCLK, MAKEWORD(x, y), MAKELONG(x, y)); PostMessage(vecHwnd[i], WM_KEYDOWN, 30, 0);
    }
    Sleep(5*1000);
    }真是见鬼,还是没用啊,每个handle都去发都没用!崩溃了,MFC咋这么难搞啊
      

  9.   

    不至于吧
    方便的话把你的目标程序和要实现的功能给我写过需求发我邮箱
    我研究研究
    [email protected]
      

  10.   

    Call PostMessage(Wtxd_hwnd, WM_LBUTTONDOWN, 1, ByVal 0)
    Call PostMessage(Wtxd_hwnd, WM_LBUTTONUP, 1, ByVal 0)
    哈哈.这样可以哦
      

  11.   


    收到,多谢!回去再去研究研究spy++是个好东西,以前没写过什么vc程序!
      

  12.   

    找到了解决方法http://topic.csdn.net/u/20090212/03/ae74bb0d-5e97-47f5-bfb0-e61818683c02.html牛人就是牛人.