- Регистрация
- 9 Май 2015
- Сообщения
- 1,562
- Баллы
- 155
Как получить список всех запущенных приложений?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Wnd: hWnd;
buff: array [0..127] of Char;
begin
ListBox1.Clear;
// Получаем hWnd первого окна
Wnd := GetWindow( Handle, gw_HWndFirst );
// Цикл поиска окон
while Wnd <> 0 do
begin
// Исключаем невидимые окна
if 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;