Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.106 c
3-66194
Georg
2001-12-18 11:22
2002.01.21
Просмотры в Interbase


3-66180
lSergey
2001-12-17 09:19
2002.01.21
Проблема с создание DBF файла


1-66307
Socol
2002-01-01 12:22
2002.01.21
Открытие файла


7-66370
Giga-Byte
2001-08-29 22:59
2002.01.21
Как получить список процессов в win2k и убить желаемый


7-66376
Dmitry V. Averuanov
2001-10-08 16:17
2002.01.21
Освобождение памяти при завершении процесса.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский