Ловим окна 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;