[Delphi] Отправить текст WebBrowser WinApi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by cheater_man, 13 Apr 2012.

  1. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    685
    Likes Received:
    44
    Reputations:
    7
    //Допустим гружу http://redactor-online.ru/notepad.php
    WB.Navigate('http://redactor-online.ru/notepad.php');
    {теперь мне нужно передать текст WebBrowser
    чтобы он отобразился в онлайн блокноте средствами WinApi, только не с помощью самого WebBrowser'а}
    Как это организовать? может кто-то встречался с такой задачей?
     
  2. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    742
    Likes Received:
    73
    Reputations:
    19
    Сурово глянь софтом который отображает структуру окон как там WebBrowser выглядит(где какие поля и.т.д), далее ищешь его окно FindWindowEx , получаешь хендл окна, получаешь хендл дочернего окна , шлешь сообщение на установку текста через PostMessage.
    Но затея сама по себе сурова.
     
  3. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    685
    Likes Received:
    44
    Reputations:
    7
    все разобрался=)
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    s:string;
    handle:HWND;
    className: array[0..255] of Char;
    begin
    webbrowser1.Silent:=true;
    handle:=WebBrowser1.handle;
    while (className <> 'Internet Explorer_Server')  do
      begin
        handle := GetWindow(handle, 5);
        GetClassName(handle, className, SizeOf(className));
      end;
    s := 'this are example text';
    for i := 1 to Length(s) do
          PostMessage(handle, WM_CHAR, Word(s[i]), 0);
    end;
    
     
Loading...