Как определить какие приложения уже запущены?
Материал из DRKB
Как определить какие приложения уже запущены?[править | править код]
procedure TForm1.Button1Click(Sender: TObject);
var
Wnd: hWnd;
buff: array [0..127] of Char;
begin
ListBox1.Clear;
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do
begin
{ Не показываем: }
if (Wnd <> Application.Handle) { -Собственное окно }
and IsWindowVisible(Wnd) { -Невидимые окна }
and (GetWindow(Wnd, gw_Owner) = 0) { -Дочерние окна }
and (GetWindowText(Wnd, buff, SizeOf(buff)) <> 0) { -Окна без заголовков }
then
begin
GetWindowText(Wnd, buff, SizeOf(buff));
ListBox1.Items.Add(StrPas(buff));
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
ListBox1.ItemIndex := 0;
end;
Source: Взято из http://forum.sources.ru
ID: 02048