如何获得另一应用程序中的文本框中的文本内容
谢谢

解决方案 »

  1.   

    不是文本框
    是richedit
    文本框我试过了可以获得
    但richedit怎么获得的是空呀
    sos
      

  2.   

    这分给我吧~var
      Pos: TPoint;
      Handle: HWND;
      ScreenDC: HDC;
      Buf: array[0..1024] of Char;
      
    begin
      GetCursorPos(Pos); // 得到当前光标位置
      Handle := WindowFromPoint(Pos); // 返回当前位置的句柄
      HandleText.Caption := IntToStr(Handle);
      GetClassName(Handle, Buf, 1024); // 得到类名
      ClassNameText.Caption := Buf;
      SendMessage(Handle, WM_GETTEXT, 33, Integer(@Buf)); // 得到标题
      TitleText.Caption := Buf;//你要得
    end;
      

  3.   

    虫子的程序的改进用了wm_gettextlength获得wm_gettext的wparam参数
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
      Pos: TPoint;
      Handle: HWND;
      ScreenDC: HDC;
      Buf: array[0..255] of char;
      tmp:string;
      len:integer;begin
      GetCursorPos(Pos); // 得到当前光标位置
      Handle := WindowFromPoint(Pos); // 返回当前位置的句柄
      edit1.Text := IntToStr(Handle);
      GetClassName(Handle, @Buf, 1024); // 得到类名
      edit2.Text:= Buf;
      len:=sendMessage(handle,WM_GETTEXTLENGTH,0,0);
      SendMessage(Handle, WM_GETTEXT, len*2, Integer(@Buf)); // 得到标题
      edit3.Text := Buf;//你要得
    end;