Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Вниз

Как в IE получить доступ к строке адреса 


Delfin   (2001-11-21 12:39) [0]

Нужно достать оттуда текст, обработать и вновь поместить.



Freezer   (2001-11-21 15:04) [1]

Писал когда-то подобное...
Кода с собой нету, но смысл такой:
1. Открываешь IE.
2. Открываешь WinSight.
3. Смотришь иерархию объектов окна IE. Запоминаешь имена классов и названия окон.
4. Теперь программно при помощи FindWindow() и GetWindow() рекурсивно спускаешься до окна строки адреса, берешь ее Handle.
5. Посылаешь message WM_GETTEXT.
6. Обрабатываешь его.
7. Посылаешь message WM_SETTEXT. Ну еще и "WM_KEYDOWN" (точно не помню), ну короче нажатие клавиши <Enter> (если нужно конечно).

Смысл вот такой... Кто предложит вариант получше, тоже интересно будет почитать.



ASTARD   (2001-11-21 18:46) [2]

вариант конечно хорошо но есть еще один (возможно больше) стои только почитать фак на этом сайте =) вот так вот !



Vic_774   (2001-11-21 19:48) [3]

Freezer прав. Но иногда получаются такие грабли:
находим окно, находим нужное подчиненное окно

В Delphi: Unit1.pas -> TEditWindow - TPanel - TPanel - TEditControl(а здесь текст той программы которую пишешь) )
ну так вот ниже приведенный текст работает, но результат не то что нужен !!!
текст заносится и читается ... куда-то в окно но видимых изменений нет

procedure TForm1.Button1Click(Sender: TObject);
var
h:hwnd;
buf:PChar;
begin
h:=FindWindow(" сюда класс окна ",nil); для Delphi (класс = TEditWindow)
h:=GetWindow(h,GW_CHILD); //
h:=GetWindow(h,GW_HWNDNEXT); // лишнее убрать !!!
h:=GetWindow(h,GW_CHILD); //
h:=GetWindow(h,GW_CHILD); //

LengthText:=GetWindowTextLength(H)+1;
GetMem(buf,LengthText);
GetWindowText(H,Buf,LengthText);
Memo1.Text:=StrPas(Buf);
FreeMem(Buf);

SendMessage(h, WM_SETTEXT, 0, Integer(PChar("TEST")));

end;

Попробуйте сами. Если кто разберется в проблеме пишите сюда и на mail vic_774@chat.ru




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.026 c
1-66284           StelZ                 2002-01-04 00:44  2002.01.21  
Всегда наверху


1-66279           Antoniz               2002-01-04 15:12  2002.01.21  
Как через TopenDialog выбрать папку


14-66338          Христос               2001-11-24 14:42  2002.01.21  
WinApi


1-66240           msys                  2002-01-02 21:06  2002.01.21  
Кодировка


4-66391           Floyn                 2001-11-20 10:00  2002.01.21  
Как в DLL создать окно?