![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
поиск окна [D6, WinME, Win2k]
alex123 © (2002-12-12 19:37:00)привет люди.
опять API
как при помощи EnumWindows() найти заданное название окна и
узнать активно ли оно.
пример просто необходим.
благодарю зарание.
Kirill45 (2002-12-13 02:12:00) [1]а ну да :))))
просто GetForegroundWindow
Kirill45 (2002-12-13 02:08:00) [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 и т.д
Song (2002-12-12 20:23:00) [3]В call-back ф-ию приходит HWND. По нему определяешь название окна - GetWindowText или WM_GETTEXT
"узнать активно ли оно", а это уже зависит от того, какое состояние окна ты считаешь за активное. Это может IsWindowEnabled(), IsIconic(), IsWindowVisible() и пр.