如何用消息定位一个最小化了的窗口上的鼠标位置,我想设置一个窗口的鼠标位置并完成单击动作,单击动作我已经可以实现,但是先要把鼠标定位到我要的坐标才行,不知道用哪个消息,或是有别的方法

解决方案 »

  1.   

    Mouse.CursorPos := Point(100,100);
      

  2.   

    来晚啦。Mouse.CursorPos := Point(100,100);
      

  3.   

    或者你们有更好的方法也可以啊,我是想通过发送消息的形式,因为我用
      SendMessage(hwndNotepad, WM_LBUTTONDOWN,0,0);
      SendMessage(hwndNotepad, WM_LBUTTONUP,0,0);
    可以实现点击操作,但是就是不知道如何控制点击的位置,所以想先定位到位置,然后执行点击
      

  4.   

    用WindowFromPoint 获取该点句柄
    然后发送
      

  5.   

    SendMessage(hwndNotepad, WM_LBUTTONDOWN,0,0);
      SendMessage(hwndNotepad, WM_LBUTTONUP,0,0);
    这两句话可以完成对指定窗口的单击,但是这样还不够,我需要达到可以对指定窗口的"某点坐标"的单击,现在关键在于这个某点坐标改如何搞定,我操作的窗口并非当前活动窗口
      

  6.   

    WindowFromPoint可以获取窗体上某个点的句柄。
      

  7.   

    恩,能够得到,那之后如何做呢,把这个句并保存起来?然后用SendMessage(这个句并, WM_LBUTTONDOWN,0,0);好象不行,能给详细点吗
      

  8.   

    做一个隐藏窗体,在CREATE时候放到最前面,这个怎么写很容易
    application.ShowMainForm:=false;
    setwindowpos(handle,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);
    然后你放个TTimer在那上面
    procedure Tfrmmain.Timer1Timer(Sender: TObject);
    var
      Pos: TPoint;
      Handle: HWND;
    begin
      SetCursorPos(100,50);
      getcursorpos(pos);
      Handle:=WindowFromPoint(Pos);
      SendMessage(Handle,WM_LBUTTONDOWN,0,0);
      SendMessage(Handle,WM_LBUTTONUP,0,0);
    end;
    这样写应该可以满足你的要求了,不过你什么公司啊,事情挺好玩的啊
      

  9.   

    http://www.hongen.com/pc/program/apitutor/api0006/api01.htm
      

  10.   

    恩,最郁闷的事情发生了,那个按钮不是控件,是画出来的,晕了,我得到的句柄是整个画面的句柄,无法得到按钮的句柄,所以我的消息发送过去都不知道发送在哪点的坐标上了,结果是失败了,我试了自己做的界面上放BUTTON是可以的
      

  11.   

    我觉得不行
      SetCursorPos(100,50);//会操作我当前的鼠标,但鼠标我在其他地方要用的
      getcursorpos(pos);
      Handle:=WindowFromPoint(Pos);  //无法取得画出来的按钮的句并,这个函数返回的是画布的句并,所以下面发送消息的语句都发送到了画布,并没有发送到画布上的具体某一点上,我试过,走不通
      SendMessage(Handle,WM_LBUTTONDOWN,0,0);
      SendMessage(Handle,WM_LBUTTONUP,0,0);
    这两点我觉得都好象走不通
      

  12.   

    那个我看了,不是image
    是个button,你好好找下他的handle吧
    然后sendmessage(Hbutton,bm_click,0,0)
    应该可以了
      

  13.   

    你去网上找找类似与spy++的工具,可以看看那些到底是不是按牛,
      

  14.   

    用SPY++看了是按钮,不过还有一些看不到,比如牌,那些是画出来的