类似的,通过SPY找不到句柄的都该怎么办?(可找到父窗体的句柄)
比如右下角的托盘图标,我试过对托盘组ToolbarWindow32发消息,用WPARAM和LPARAM表示坐标,但有的成功,有的失败,可能与托盘图标的创建方式有关。
有没有战友研究过?随便说说

解决方案 »

  1.   

    如果不怕烦的话,用IWebBrowser2试试
      

  2.   

    UP+问:IWebBrowser2是什么东东?怎么个麻烦法?
      

  3.   

    实际上我是想做一个自动打卡机,我们公司用NOTES打卡,所以迟到一点人家都知道,FT
    我想写一个定时器,在上班时间前半个小时内随机时间打开NOTES打卡,嘿嘿
    现在就差最后一步点击“打卡”那个按钮了。但是用SPY找不到它的句柄,我想这跟超链接的原理是一样的,只能通过点击位置来发消息,但是我发WM_LBUTTONDOWN和WM_LBUTTONUP消息给它的父窗体(WPARAM,LPARAM用SPY跟出来的数值)却没有反应,实在不知道它响应的是什么消息,郁闷中
      

  4.   

    用WM_LBUTTONDOWN和WM_LBUTTONUP是没用的,想点超链接,我找乐还就都没有想到和是的方法,最后我用了最笨的办法,向窗口发送鼠标消息:
    //下边的代码就是在CPoint (x,y)处单击一下鼠标
             CPoint  point;
    GetCursorPos(&point);  //保存鼠标原来的位置
    SetCursorPos((LPARAM)(x),(LPARAM)(y));
    mouse_event(MOUSEEVENTF_LEFTDOWN,(LPARAM)(x),(LPARAM)(y),0,0);
    mouse_event(MOUSEEVENTF_LEFTUP,(LPARAM)(x),(LPARAM)(y),0,0); 
    Sleep(1000);
    SetCursorPos(point.x,point.y);//恢复鼠标原来的位置
    //根据窗口的标题,得到窗口的句柄,在单击鼠标前讲他设置为当前活动窗口
      

  5.   

    call IHTMLElementCollection  interface,see this article:
    http://www.csdn.net/develop/Read_Article.asp?Id=11914
      

  6.   

    多谢各位的发言!
    我又用SPY跟了一下,发现 WM_MOUSEACTIVATE 消息可能就是罪魁祸首,因为它发出了 WM_LBUTTONDOWN 消息!
    可是。不会用参数挺复杂的,查查MSDN,如下WM_MOUSEACTIVATE 
    hwndTopLevel = (HWND) wParam;       // handle of top-level parent 
    nHittest = (INT) LOWORD(lParam);    // hit-test value 
    uMsg =    (UINT) HIWORD(lParam);    // mouse message 根据SPY的结果,hwndTopLevel 就是顶层窗体的句柄,已找到,hWnd
    nHittest = HTCLIENT ; uMsg = WM_LBUTTONDOWN试验中也望各位大侠继续施于援手