Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-11908
Alexis
2003-12-21 15:42
2004.01.05
выбор директории


4-12194
Kinder
2003-11-04 20:21
2004.01.05
Как управлять окнами таскбара?


14-12092
SEREGON
2003-12-12 12:57
2004.01.05
Сеть


3-11825
DiFar
2003-12-08 13:38
2004.01.05
Изменение типа поля


3-11781
Manfred
2003-12-09 17:30
2004.01.05
FlushBuffers не помогает.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский