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

Вниз

Почему в Win XP не работает EnumWindows   Найти похожие ветки 

 
amo   (2004-01-04 15:45) [0]

Нужно загнать в ComboBox все открытые окна делаю так:

procedure FindWind;
begin
Form1.ComboBox1.Items.Clear;
EnumWindows (@EnumProc, 0);
end;

function EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall;
Var
Nm:Array[0..255] of Char;
Begin
If IsWindowVisible(Wd) Then
Begin
GetWindowText(Wd,Nm,255);
If String(Nm)<>"" Then
Form1.ComboBox1.Items.Add(String(Nm));
EnumProc := TRUE;
End;
end;

В Win 98 работает а в XP нет, помогите плиззз


 
Автоответчик   (2004-01-04 17:05) [1]

If IsWindowVisible(Wd) Then
Begin
GetWindowText(Wd,Nm,255);
If String(Nm)<>"" Then
Form1.ComboBox1.Items.Add(String(Nm));
End;
EnumProc := TRUE;

У тебя разрешается продолжить поиск окон только в том, случае, если первое найденное окно - видимое, иначе - результат возвращаемой функции будет неопределенным (с вероятностью 1/2 - False)


 
Автоответчик   (2004-01-04 17:08) [2]

Извини за сумбурное изложение. Я имею в виду, что нужно исправить как я указал: то есть убрать EnumProc := TRUE из If"а, и перенести его в основное тело процедуры, которое выполняется всегда


 
amo   (2004-01-04 17:32) [3]

Премного благодарен Автоответчик, исправил, заработало!



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
9-25676
Gayrus
2002-12-18 16:39
2004.03.09
Текст в OpenGL


7-25958
Davey
2003-12-19 15:53
2004.03.09
Срочно!!!!!! SOS!!! ??D: Windows winlogon.exe ??????????


9-25678
Unknown user
2003-08-21 15:42
2004.03.09
Определение попадающих в область видимости объектов в OpenGL.


3-25717
b0bi
2004-02-11 12:37
2004.03.09
Что лучше использовать, DBAWARE компоненты или обычные CONTROLы


3-25698
Александр Сташевский
2004-02-10 20:43
2004.03.09
DBGridEh