Форум веб-мастеров  /  Статьи веб-мастера  /  WHOIS-сервис  /  Услуги веб-мастера  /  RSS 
Разделы сайта




Полезные ссылки

wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 48

Вопрос и Ответ 48

Вопрос и Ответ 48

Вопросы и Ответы


      48. Как определить какие приложения уже запущены?

      Для получения списка запущенных приложений необходимо, с помощью функции:

      function GetWindow(Wnd: HWnd; Cmd: Word): HWnd;

      передав первым параметром ссылку на окно своего приложения, а вторым - константу GW_HWNDFIRST, получить ссылку на первое окно в списке окон. И затем, с помощью этой же функции, но передавая уже ссылку на найденное окно и константу GW_HWNDNEXT получить следующую ссылку и так, до тех пор, пока функция не вернет значение равное нулю.

      В процессе получения ссылок следует проверять:

      • имеет ли окно заголовок;
      • видимо ли окно;
      • не дочернее ли окно (если необходимо).

      Пример:

      ............

      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;

      ............


...предыдущая страница следующая...
оглавление

[ Вверх ]

Rambler's Top100

Другие наши проекты:
бодибилдинг | Строим Домик | RU-домены за 170 рублей |
"Вопрос и Ответ 48"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008.
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.047