Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Неработающий 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 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
4-1089376136
Дмитрий2004
2004-07-09 16:28
2004.08.29
Программа работающая под определенным пользователем


1-1092226114
TEXHAPb
2004-08-11 16:08
2004.08.29
Простой вопрос: C -> Pascal


11-1080062398
nester
2004-03-23 20:19
2004.08.29
Как в КОЛ определить существует ли экземпляр объекта?


14-1092002260
VID
2004-08-09 01:57
2004.08.29
Doom-3


4-1090160619
DDDeN
2004-07-18 18:23
2004.08.29
Проблема с рекурсивным поиском