Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2010, 19:55   #1
ilSMoKEli
 
Регистрация: 02.05.2010
Сообщений: 9
По умолчанию Как узнать программа запущена или нет?

Доброго времени суток
Помогите пожалуйста как узнать запущена программа или нет. . .
Пробывал узнать по заголовку окна но не как не могу его подобрать или защита какайто стоит на файле я хз
Как ещё можно узнать что нужная программа запущена
P.S Нужно чтобы можно было узнать не только exe файлы но и bin файлы
ilSMoKEli вне форума Ответить с цитированием
Старый 02.05.2010, 19:59   #2
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

А эти файлы(исполняемые) пишите вы? Если да то проще всего пишите это где нибудь в реестре или в файлик
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 02.05.2010, 20:19   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

2 ilSMoKEli
Чем не устраевает снимок процессов? Тот, которой CreateToolhelp32Snapshot отдает?
p51x вне форума Ответить с цитированием
Старый 02.05.2010, 20:32   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Есть затертая до дыр функция поиска окна по части названия :
Код:
var
  Wnd: hWnd;
  buff: array[0..127] of Char;
begin
  Find := 0;
  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));
      if pos(s, StrPas(buff)) > 0 then
      begin
        Find := Wnd;
        Break;
      end;
    end;
    Wnd := GetWindow(Wnd, gw_hWndNext);
  end;
Работает безупречно !
Только одно НО : нужно часть названия писать с учетом регистра, но это можно поправить в самой функции ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 02.05.2010, 20:48   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Если захотите сделать проверку по имени запущенного процесса, то тут можете скачать модуль http://programmersforum.ru/showthread.php?t=80214
В нём есть нужная функция.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 02.05.2010, 23:01   #6
ilSMoKEli
 
Регистрация: 02.05.2010
Сообщений: 9
По умолчанию

Спасибо за помощь
Воспользовался этой софтиной и нашол заголовок окна
http://www.delphimaster.ru/articles/winapi/index.html
ilSMoKEli вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление в блоге - Как узнать, запущена программа с правами администратора или нет Pblog Обсуждение статей 0 05.03.2010 20:50
Как узнать открыл пользователь окно или нет? KaimNotark Общие вопросы Delphi 5 09.02.2010 09:38
Как узнать деректорию откуда запущена программа? dolphin705 Общие вопросы Delphi 4 22.03.2009 19:32
Как программно узнать IP компа, на котором запущена программа? Andr Безопасность, Шифрование 4 23.11.2008 14:25
Запущена программа или нет Маркъ Общие вопросы Delphi 6 05.02.2007 18:21