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

Вниз

Проблемы с 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.01 c
1-39716
kull
2002-04-26 10:54
2002.05.13
Форматирование Double


1-39743
sergey32
2002-04-27 17:29
2002.05.13
Формат типа даты для Edit1


1-39752
Феликс
2002-04-27 22:44
2002.05.13
Как сделать, чтобы у определенной строки в Listbox был свой цвет.


7-39878
KarlovAF
2001-12-21 16:26
2002.05.13
Сетевой принтер.


3-39682
Chainik
2002-04-17 11:02
2002.05.13
компоненты ODAC/DAO для Oracle