如何判断鼠标是否移动到别的软件上呢?也就是判断我的软件窗口是否是window当前窗口呢?
------------------------------
请问程序如何来判断呢?

解决方案 »

  1.   

    用GetForegroundWindow获得当前顶端窗口句柄和你的软件句柄比较只否一致可行吗?
      

  2.   

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
        if GetForegroundWindow() = Self.Handle then
          Edit1.Text := '当前'
        else
          Edit1.Text := '非当前';
    end;
      

  3.   

    鼠标移动到别的软件上你的软件窗口一样有可能是window当前窗口啊
      

  4.   

    判断鼠标的位置是否超出了你的软件的当前窗口的大小,这样可以吗?在form的mouse move事件里做判断
      

  5.   

    推测楼主的意思好象是移到别的软件并使之成为当前窗口;若依楼上意思,到鼠标下窗体句柄则是下面办法了:
    var
      p: TPoint;
      h: THandle;
    begin
      GetCursorPos(p);
      h := WindowFromPoint(p);
      ...
    end;
    取出后再做比较就可了,此法还要判断是否窗口还是其它控件了