Новые книги

Эта книга об экстремальном программировании. Экстремальное программирование, часто обозначаемое аббревиатурой «XP» – это упрощенная методика организации производства для небольших и средних по размеру команд разработчиков, занимающихся разработкой программного продукта в условиях неясных или быстро меняющихся требований. Данная книга предназначена для того, чтобы помочь вам определить, оправдано ли применение XP в вашей ситуации...
Данную книгу можно назвать практической энциклопедией. В ней дан максимальный охват проблематики обеспечения информационной безопасности, начиная с современных подходов, обзора нормативного обеспечения в мире и в России и заканчивая рассмотрением конкретных направлений обеспечения информационной безопасности (обеспечение ИБ периметра, противодействие атакам, мониторинг ИБ, виртуальные частные сети и многие другие), конкретных аппаратно-программных решений в данной области. Книга будет полезна бизнес-руководителям компаний и тем, в чью компетенцию входит решение технических вопросов обеспечения информационной безопасности.

Все права защищены. Никакая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, включая размещение в сети Интернет и в корпоративных сетях, а также запись в память ЭВМ для частного или публичного использования, без письменного разрешения владельца авторских прав. По вопросу организации доступа к электронной библиотеке издательства обращайтесь по адресу

mailto:%[email protected]

[email protected]

.

Вопрос и Ответ 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;

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


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



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