Вниз
Скачать: 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.025 c
14-12041
Пока_Ещё_Не_Программист
2003-12-10 15:39
2004.01.05
Настоящими программистами рождаются или становятся?


8-11997
Goga
2003-09-03 21:54
2004.01.05
как синхронизировать потоки данных?


1-11973
Марат
2003-12-19 05:59
2004.01.05
Использование F1


14-12049
Razor
2003-12-11 04:52
2004.01.05
Как программно преобразовать Bmp файл в Tiff в максимальным сжати


4-12206
Erik
2003-11-04 13:48
2004.01.05
Как прибить тред застравший в критической секции?




   Наверх