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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2012, 10:50   #1
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
Вопрос Квк определить, запущен ли процесс???

Всем привет!
Мне надо определить, запущена ли служба. Легче это сделать через процессы. Как определить запущен ли процесс???
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 06.08.2012, 10:55   #2
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Код:
function processExists(exeFileName: string): Boolean;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
Result := False;
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
begin
Result := True;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;


// Пример:
procedure TForm1.Button1Click(Sender: TObject);
begin
if processExists('calc.exe') then
ShowMessage('process is running')
else
ShowMessage('process NOT running');
end;
dolphin705 вне форума Ответить с цитированием
Старый 06.08.2012, 10:55   #3
GSirr
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 42
По умолчанию

Чуть-чуть гугла:
http://www.cyberforum.ru/delphi-begi...ead154229.html
GSirr вне форума Ответить с цитированием
Старый 06.08.2012, 11:50   #4
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
По умолчанию

dolphin705, огромное СПАСИБО!!!
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 07.08.2012, 05:36   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

*facepalm*

Если служба - то её статус проверять надо запросом у SCM. То, что процесс существует, не значит вообще ничего. Служба можеть быть остановлена, но ещё не выгружена.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить запущен ли процесс? Chanterz C# (си шарп) 1 05.02.2012 00:53
Как узнать, запущен ли процесс? Storm Whisper Win Api 19 09.05.2011 12:18
Запущен ли процесс rus_phantom Паскаль, Turbo Pascal, PascalABC.NET 0 02.05.2011 22:22
запущен ли процесс Vaska Общие вопросы C/C++ 0 03.04.2009 15:42