Ловим окна Windows (original) (raw)

April 18 2011, 09:17

Originally posted by filimonovdmtry at Ловим окна Windows

Так случилось, что мне вдруг потребовалось проверять, запущено приложение, или нет. Ну подумал я, подумал, и решил что самое верное, проверять его присутствие по заголовку окна. Но делать проверку под конкретное приложение "не комильфо", и я написал унифицированную функцию.

Function TFreeProc.SearchWindow (SubStr : String): Boolean;
Var Win : hWND;
Buff : Array[0..120] Of Char;
BuffUp : String[120];
begin
SubStr := AnsiUpperCase (SubStr);
Result := False;
Win := GetWindow (Application.Handle, gw_hWndFirst);
While Win <> 0 Do
begin
GetWindowText(Win, buff, sizeof(buff));
BuffUp := AnsiUpperCase (buff);
If AnsiPos (SubStr, BuffUp) <> 0 Then Begin Result := True; Break; End;
Win := GetWindow (Win, gw_hWndNext);
End;
End;

LJ Video