Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
3-11779
Programmer
2003-12-08 11:49
2004.01.05
Как из ConnectionString в ADO вытащить путь к БД


14-12080
Виталя
2003-12-15 14:44
2004.01.05
Как установить компоненту, если есть только ф-лы dcu и dcr ?


6-12017
Mag
2003-11-03 17:43
2004.01.05
Считывание с форм HTML


1-11852
Maxim Vetera
2003-12-18 18:11
2004.01.05
Узкие места по времени (объему) вычисления.


14-12118
Diablo
2003-12-13 20:11
2004.01.05
---|Ветка была без названия|---




   Наверх