怎样实现对别地应用程序上的文本输入框聚焦?你们明白我的意思吗?????

解决方案 »

  1.   

    得到别的应用程序上的文本的句柄发送消息
    SendMessage(otherHandle,WM_SETFOCUS,0,0 );
      

  2.   

    获得任意窗口和控件的类名和句柄 :procedure TForm1.GetMousePosHwndAndClassName(Sender: TPoint);
    var
     hWnd: THandle;
     aName: array [0..255] of char;
    begin
     hWnd := WindowFromPoint(Sender);
     Label1.Caption := 'Handle : ' + IntToStr(hWnd);
     if boolean(GetClassName(hWnd, aName, 256)) then
       Label2.Caption := 'ClassName : ' + string(aName)
     else
       Label2.Caption := 'ClassName : not found';
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
     Form1.FormStyle := fsStayOnTop;
     Timer1.Interval := 50;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    var
     rPos: TPoint;
    begin
     if boolean(GetCursorPos(rPos)) then
       GetMousePosHwndAndClassName(rPos);
    end;  然后再用楼上的方法
      

  3.   

    假如另外的哪个应用程序不是用Delphi写的能行吗?
      

  4.   

    肯定是先通过FindWindow之类的函数得到它的窗口句柄。
    然后根据这个句柄来设置它的聚焦。