Форум: "WinAPI";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
ВнизПроблемы с EnumWindows Найти похожие ветки
← →
chernoruk (2002-02-24 22:14) [0]После выполнения следующего кода ListBox1 заполняется какими-то
непонятными заголовками окон (которых нет ни на экране, ни на таскбаре) и вообще даже пустыми строками (т.е. s="").
Пожалуйста-а-а-а! Помогите, кто знает в чём дело.
uses windows,...
...
implementation
...
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(@CallBackFunction,0);
end;
function CallBackFunction(hand: HWND):boolean;
var
s :string;
mas :array[0..256]of ansichar;
begin
GetWindowTextA(hand, mas, 256);
s:=mas;
form1.listbox1.items.Add(s);
end;
...
end.
← →
VuDZ (2002-02-24 22:20) [1]всё дело в том, что есть чень много окон, которых не видно, но которые есть. запусти Spy from SDK и увидешь.
← →
Sasha9 (2002-02-24 23:00) [2]и к тому же в колбэке 2 параметра (второй - lParam:LPARAM)
← →
Raptor (2002-02-24 23:42) [3]Дело совсем не в невидимых окнах. Дело в том, что функция неправильно описана. Надо ее описать так:
function CallBackFunction(hand: HWND;lParam:LParam):boolean; stdcall;
Тогда будет работать.
← →
VuDZ (2002-02-25 02:05) [4]не стоит быть таким категоричным на счёт невидимых окон
← →
Raptor (2002-02-25 10:50) [5]Не обижайся. ;-))
Просто проблемма в даном, конкретном случае, точно не в невидимых окнах. Главная проблема здесь в том, что автор вопроса в описании callback-функции не только забыл указать второй параметр функции, но и забыл указать стандартный способ передачи параметров (stdcall). И у некоторых участников этого форума уже были проблеммы с тем, что такая функция (без описания stdcall) некорректно работает именно из-за этого.
← →
chernoruk (2002-03-09 05:45) [6]Спасибо!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c