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

Вниз

Снова окна   Найти похожие ветки 

 
X-Disa   (2003-11-04 15:40) [0]

Я пытаюсь получить текст заголовка окна и его класс и засунутб все это в List Box с помощью такого кода:

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear; // Очистим список перед началом поисков
EnumWindows (@TForm1.EnumProc, 0);
end;

function TForm1.EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall; // Обязательно stdcall !!!
Var
Nm:Array[0..255] of Char; // буфер для имени
Cs: Array[0..255] of Char; // буфер для класса
Begin
GetWindowText(Wd,Nm,255); // считываем текст заголовка окна
GetClassName(Wd,Cs,255); // считываем название класса окна
ListBox1.Items.Add(String(Nm)+"/"+String(Cs)); // Добавляем название окна и класс в список
EnumProc := TRUE; // продолжать искать окна…
end;

Но при нажатии на соответствующую кнопку выскакивает Access Violation. Что делать?


 
Игорь Шевченко ©   (2003-11-04 15:46) [1]

EnumProc не должна быть методом формы.

function EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall;
Var
Nm:Array[0..255] of Char; // буфер для имени
Cs: Array[0..255] of Char; // буфер для класса
Begin
GetWindowText(Wd,Nm,255); // считываем текст заголовка окна
GetClassName(Wd,Cs,255); // считываем название класса окна
TForm1(Param).ListBox1.Items.Add(String(Nm)+"/"+String(Cs)); // Добавляем название окна и класс в список
Result := TRUE; // продолжать искать окна…
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear; // Очистим список перед началом поисков
EnumWindows (@EnumProc, Self);
end;


 
X-Disa   (2003-11-04 15:52) [2]

Я попробовал так написать, но Delphi выдает ошибку компиляции.
Там написано что Variable requared. Что это значит?


 
Игорь Шевченко ©   (2003-11-04 17:28) [3]

А на какой строке выдает ошибку, это не судьба сказать ?

Кстати:

EnumWindows (@EnumProc, Integer(Self));


 
FireHack ©   (2003-11-04 17:55) [4]

и что за
EnumProc=True



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.016 c
11-11843
SerB
2003-04-14 07:30
2004.01.05
SizeGrip???


4-12202
пачка
2003-11-04 21:18
2004.01.05
Как поймать клик мыши на конкретном окне программы? (Хуук)


1-11932
DR
2003-12-20 14:19
2004.01.05
Как отрисовать НЕВИДИМЫЙ TreeView на канвасе др. объекта?


14-12097
tics
2003-12-15 11:23
2004.01.05
Заодированный доступ к папке


7-12181
Evgeniy_K
2003-10-24 07:06
2004.01.05
Отловить нажатие клавиш в любом приложении