我用getcursorpos函数获取了鼠标的坐标,但是只能显示鼠标在该程序中任意一点的坐标,不知道如何实现让在程序外也能获取到鼠标的坐标,曾经想过做一个屏幕大小的透明窗体,但是如果这么做又会导致程序布局出现问题,请各位指点迷津,改如何获取程序外程序外屏幕上任意一点的鼠标坐标?

解决方案 »

  1.   

    用API
    ----------
    我也知道
      

  2.   

    SetWindowsHookEx挂钩子
    用这个可以实现
    但是具体代码我也不清楚了
      

  3.   

    The ClientToScreen function converts the client coordinates of a specified point to screen coordinates. 
    ---------------------------------
    只能把窗口中的坐标转换到以屏幕为标准啊
    还得挂钩子楼主,现在有很多屏幕取词的程序(一般都是挂钩子),里面就有这样的操作
    看看明白了
      

  4.   

    用个timer就可以取了...procedure TForm1.Timer1Timer(Sender: TObject);
     var aa:TPoint;
    begin
       getcursorpos(aa);
      label2.Caption:=inttostr(aa.x);
      label3.Caption:=inttostr(aa.Y);
       end;