下面是我的程序,执行到SenMessage却见不到效果.不止那里有错,请给看一下.DWORD WINAPI Mythread(LPVOID lpParameter) //HWND hwnd, UINT uMsg, UINT idEvent
, DWORD dwTime)
 
{
    POINT point;
    while (true)
    {
    GetCursorPos(&point);
    ::SendMessage(HWND_BROADCAST/*(HWND )lpParameter*/, WM_RBUTTONDOWN, 0, MAK
ELPARAM(point.x, point.y));
    Sleep(50);
    }
    return 0;
}
void CTestDlg::OnButton1() 
{
    DWORD ThID;
           HWND hwnd = m_hWnd;
    CreateThread(NULL, 0, Mythread, (LPVOID )&hwnd, 0, &ThID);
}

解决方案 »

  1.   

    工作线程没有消息循环泵,应该是不行的,你的循环会一直在执行,而操作系统得不到分发你的要广播的消息的机会.你加入这两句试试.  while (true)
        {
        GetCursorPos(&point);
        ::SendMessage(HWND_BROADCAST/*(HWND )lpParameter*/, WM_RBUTTONDOWN, 0, MAK
    ELPARAM(point.x, point.y));
         MSG tmpMsg; 
    if(::PeekMessage(&tmpMsg, NULL, NULL, NULL, PM_NOREMOVE))
    ::DispatchMessage(&tmpMsg);    Sleep(50);
        }
      

  2.   

    GetCursorPos(&point);
    ScreenToClient(&point);
    ::SendMessage(HWND_BROADCAST, WM_RBUTTONDOWN, 0, MAKELPARAM(point.x, point.y));