Форум: "WinAPI";
Текущий архив: 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
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c