Главная страница
    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.052 c
3-1091447741
DSKalugin
2004-08-02 15:55
2004.08.29
Агрегатные функции со строками AVG(), min(),max()...


11-1079712129
user
2004-03-19 19:02
2004.08.29
RunTime ERROR хееееелп


8-1086294454
Дмитрий
2004-06-04 00:27
2004.08.29
Записывающие устройства


1-1092137241
Pavelkq
2004-08-10 15:27
2004.08.29
Сравнение двух TStringList-ов


1-1092642509
EHFS
2004-08-16 11:48
2004.08.29
Список файлов





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