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

Вниз

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

 
alex123   (2002-12-12 19:37) [0]

привет люди.
опять API
как при помощи EnumWindows() найти заданное название окна и
узнать активно ли оно.
пример просто необходим.
благодарю зарание.


 
Song ©   (2002-12-12 20:23) [1]

В call-back ф-ию приходит HWND. По нему определяешь название окна - GetWindowText или WM_GETTEXT

"узнать активно ли оно", а это уже зависит от того, какое состояние окна ты считаешь за активное. Это может IsWindowEnabled(), IsIconic(), IsWindowVisible() и пр.


 
Kirill45   (2002-12-13 02:08) [2]

Ну примерно вот так :

var Y_Find: HWND
.....

function Win_Enum(Handle: HWND; Info: Pointer): Bool; stdcall;
var Text: array [0..255] of Char;
begin
//GetClassName(Handle, Text, 255)
//GetWindowText(Handle, Text, 255);
//ну или еще чего
// ляляля := StrPas(Text)
//Y_Find = Handle;
// ну и Info
....
Result := True // Что б компилятор не ругался, а там проверяй сам
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
.....
EnumWindows(@Win_Enum,0);
.....
end;
по такому же принципу EnumChildWindows и т.д


 
Kirill45   (2002-12-13 02:12) [3]

а ну да :))))
просто GetForegroundWindow



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
14-87044
Jim
2003-01-10 23:55
2003.01.27
Строка между записями


14-87128
ZeroDivide
2003-01-10 08:48
2003.01.27
Игры разума (задачка)


14-87089
Махи Аинти
2003-01-07 21:48
2003.01.27
Что вы про это думаете?


3-86622
VID
2003-01-10 01:17
2003.01.27
Ограничения на значения вводимые в поля, на прогр. уровне


4-87222
Alinka
2002-12-10 11:28
2003.01.27
второй экземпляр программы не запускался