Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Неработающий GetWindowText   Найти похожие ветки 

 
programer ©   (2004-07-13 00:06) [0]

Дарова всем. Скажите plizz, как узнать, какой адрес в IE открыт в ActivPage. GetWindowText показывает, что в строке Адреса ничего нет.


 
Ertong ©   (2004-07-13 00:10) [1]

А можно посмотреть код?


 
programer ©   (2004-07-13 00:17) [2]

program GetPage;

uses
 Windows, SysUtils, Messages;

var
 wnd: HWnd;
 clas, name: array[0..50] of char;

begin
 wnd:=getforegroundwindow;
 wnd:=getwindow(wnd,GW_CHILD);
 wnd:=getwindow(wnd,GW_CHILD);
 wnd:=getwindow(wnd,GW_CHILD);
 while wnd<>0 do
 begin
   getclassname(wnd,@clas,50);
   if clas="ComboBoxEx32" then
   begin
     wnd:=getwindow(wnd,GW_CHILD);
     wnd:=getnextwindow(wnd,GW_HWNDNEXT);
     wnd:=getwindow(wnd,GW_CHILD);
     getwindowtext(wnd,@name,50);
     getclassname(wnd,@clas,50);
     messagebox(0,@name,@clas,0);
   end;
   wnd:=getnextwindow(wnd,GW_HWNDNEXT);
 end;
end.


 
Ertong ©   (2004-07-13 01:03) [3]

var
wnd: HWnd;
clas, name: array[0..max_path] of char;

begin
wnd:=FindWindow("IEFrame",nil);
wnd:=getwindow(wnd,GW_CHILD);
wnd:=getwindow(wnd,GW_CHILD);
wnd:=getwindow(wnd,GW_CHILD);
while wnd<>0 do
begin
  getclassname(wnd,@clas,50);
  if clas="ComboBoxEx32" then
  begin
   // getwindowtext(wnd,@name,sizeof(name));
    sendMessage(wnd,WM_GETTEXT,sizeof(name),Cardinal(@name));
    getclassname(wnd,@clas,sizeof(clas));
    messagebox(0,@name,@clas,0);
  end;
  wnd:=getnextwindow(wnd,GW_HWNDNEXT);
end;
end;

Не знаю почему getwindowtext не пашет, но SendMessage заработало.


 
programer ©   (2004-07-13 01:21) [4]

И вправду заработало! Спасибо!


 
VMcL ©   (2004-07-13 13:26) [5]

>>Ertong ©   (13.07.04 01:03) [3]

Наверное, потому что целевое окно в АП другого процесса находится.


 
Ertong ©   (2004-07-13 21:57) [6]


> Наверное, потому что целевое окно в АП другого процесса
> находится.


Да, но почему тогда SendMessage пашет?


 
Cobalt ©   (2004-07-13 22:02) [7]

2 Ertong ©
> почему тогда SendMessage пашет?
В целях совместимости


 
VMcL ©   (2004-07-13 23:41) [8]

P.S. Вообще-то в справке по GetWindowText буржуйским по белому написано:
This function cannot retrieve the text of an edit control in another application.



Страницы: 1 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.029 c
14-1092302360
SiJack
2004-08-12 13:19
2004.08.29
Допустим есть идея для создания прибыльного сайта.


4-1089994372
Dir
2004-07-16 20:12
2004.08.29
OpenDir


1-1092314375
Cosinus
2004-08-12 16:39
2004.08.29
Работа с памятью


14-1091964530
ИМХО
2004-08-08 15:28
2004.08.29
Уринотерапия


3-1091512145
serg128
2004-08-03 09:49
2004.08.29
Сортировка в TClientDataSet





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский