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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2012, 01:16   #1
L.A.M.E.R.
Пользователь
 
Аватар для L.A.M.E.R.
 
Регистрация: 17.07.2009
Сообщений: 14
Вопрос отследить процесс в диспетчере задач

Доброе время суток! Такой вопрос у меня. Как можно отследить процесс (по имени) в диспетчере задач, мне получается надо если процесса нет то запустить определенную программу... Помогите кто чем может... заранее спасибо!

Последний раз редактировалось L.A.M.E.R.; 25.07.2012 в 01:19.
L.A.M.E.R. вне форума Ответить с цитированием
Старый 25.07.2012, 01:18   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а зачем диспетчер?

список процессов получить то не трудно.

да и в поиске легко ищется моя процедура для проверки на наличие процесса.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.07.2012, 15:52   #3
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Гугли по OpenProcess, WaitForSingleObject, PS API или ToolHelp. А потом вникай тут.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 27.07.2012, 00:38   #4
VladimirVB
Форумчанин
 
Аватар для VladimirVB
 
Регистрация: 12.10.2008
Сообщений: 131
Стрелка

Код:
uses tlhelp32;

procedure TfrmMain.Button1Click(Sender: TObject);
var
  PrcEntry : TProcessEntry32;
  Snapshot : THandle;
  bThereis: Boolean;
begin
  bThereIs := False;
  PrcEntry.dwSize := SizeOf(PrcEntry); //установка размера структуры
  Snapshot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0); //получаем снимок процессов
  {начало цикла перебора процессов в снимке}
  if Process32First(Snapshot, PrcEntry) = True then
  repeat
      if PrcEntry.szExeFile = 'calc.exe' then //имя процесса
      begin
        ShowMessage('Процесс calc.exe существует');
        bThereIs := True;
        Break;
      end;
  until not Process32Next(Snapshot, PrcEntry); //условие продолжения перебора
  CloseHandle(Snapshot); //освобождение дескриптора снимка процессов
  if bThereis = False then
    WinExec('calc.exe', SW_SHOWNORMAL);
end;
VladimirVB вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отслеживать процесс в Диспетчере задач... xC0der Win Api 2 12.01.2012 10:41
В диспетчере задач второй пользователь... миха48 Помощь студентам 5 01.12.2011 17:03
Как сделать программу невидимой в диспетчере задач?? Дима я Общие вопросы Delphi 7 04.11.2010 10:12
Процесс после завершения работы с программой остается в диспетчере зедач с++ builder romec1 Помощь студентам 0 09.06.2010 14:07
Не отображаются имена потзователей в диспетчере задач Altera Windows 1 24.10.2009 14:46