Форум: "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.027 c
3-66223           dim-                  2001-12-17 17:48  2002.01.21  
Имена индексов


14-66349          Seeree                2001-11-23 14:33  2002.01.21  
Промышленное и заказное программирование


1-66310           Александр Давыдов     2002-01-04 20:06  2002.01.21  
сканирование каталогов


1-66266           !Новичоккккк          2002-01-03 22:23  2002.01.21  
ПОМОГИТЕ!


4-66415           Константин            2001-11-17 21:50  2002.01.21  
По(ту)сторонние звуки