Delphi. Как можно получить инфу из других программ

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Anifuck, 26 Jun 2011.

  1. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    Здравствуйте.
    Как можно пролучить информацию из других программ на delphi. Например текст из блокнота(не из .txt файла а имено из блокнота)?
     
  2. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    WinAPI

    FindWindow, FindWindoxEx, GetText, ...
     
  3. xmadstyle

    xmadstyle Member

    Joined:
    29 Aug 2008
    Messages:
    91
    Likes Received:
    53
    Reputations:
    24
    Code:
    function  GetWindText(AHandle:  THandle):  String;
    var cb:  DWord;
    begin
      cb  :=  SendMessage(AHandle,  WM_GETTEXTLENGTH,  0,  0);
      SetLength(Result,  cb);
      if  cb  >  0  then
      SendMessage(AHandle,  WM_GETTEXT,  cb+1,  LParam(@Result[1]));
    end;
    Code:
    procedure  TForm1.Button1Click(Sender:  TObject);
    var AHandle:  THandle;
    begin
      AHandle  :=  FindWindow('Notepad',  nil);
      Win32Check(AHandle  <>  0);
      AHandle  :=  FindWindowEx(AHandle,  0,  'Edit',  nil);
      Win32Check(AHandle  <>  0);
      Memo1.Text  :=  GetWindText(AHandle);
    end;
     
  4. Anifuck

    Anifuck Member

    Joined:
    12 Nov 2010
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    Ок. спасибо, а если нужно взять информацию из других программ?
     
  5. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18