Форум: "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