VC  打个比方:向某IE窗口的客户区发送鼠标消息:mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,100,100,0,NULL);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,100,100,0,NULL);(一、mouse_event只能向当前窗口发送吗?能不能给他指定的窗口句柄向指定窗口发送呢???
100,100 是绝对坐标,也就是我得到的是屏幕坐标。
在得到主窗口句柄后,向该窗口发送在鼠标左键点击的消息,用SendMessage行吗 ? ? ?
还要得到该窗口的客户区句柄,如果是IE的客户区的窗口标题是:Internet Explorer_Server;SPY++没看见它有窗口标题(二、有人说要映射到窗口的客户区的100,100,该怎么做? ? ?
(三、我已得到该主窗口句柄:hWnd;用GetWindowText得到窗口标题,但用SetWindowText却改不了窗口标题 
我改电脑自带计算器和IE的标题都改成功了。但有些程序窗口改不了,为什么? ? 
(四、LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 
参数:   
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
如果消息是指定主窗口的句柄消息不被发送到子窗口。  
Msg:指定被发送的消息。   
wParam:指定附加的消息指定信息。   
IParam:指定附加的消息指定信息。//如何把100,100的坐标消息加到这个参数上啊????

解决方案 »

  1.   

    mouse_event不可取 他会影响其他操作 想办法用sengmsg和postmsg的!
      

  2.   

    1. SetForegroundWindow(HWND);然后mouse_event()/SendInput();
    或者是直接使用PostMessage/SendMessage发送WM_LBUTTONDOWN消息2. ScreenToClient()/ClientToScreen();3. 你试试直接发送WM_SETTEXT消息4. 是发送WM_LBUTTONDOWN消息吗?参考MSDN文档对WM_LBUTTONDOWN消息参数的说明,LPARAM参数
    MAKELPARAM(100, 100);
      

  3.   

    第一条:根据mouse_event的原理,用mouse_event是不可取的~~同楼上,想办法用用sengmsg和postmsg,用postmsg可能会好一些