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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2008, 10:59   #1
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,266
Восклицание Процессы. Делфи.

В программе есть допустим таймер, что надо в "нём" написать чтобы отследить когда запустится и завершится конкретный процесс. При этом нам известен только путь (полный, до C:\...\*.exe). Про вторую часть я маленько знаю, там надо WaitForSingleObject юзать, тока опять-же я не знаю как получить хендл зная только путь.
Simply-Art вне форума Ответить с цитированием
Старый 11.05.2008, 12:22   #2
Cj_
Пользователь
 
Аватар для Cj_
 
Регистрация: 09.05.2008
Сообщений: 28
По умолчанию

CreateProcess->lpProcessInformation->hProcess->WaitForSingleObject
отлаживание - процесс избавления программы от лажи

Последний раз редактировалось Cj_; 11.05.2008 в 12:38.
Cj_ вне форума Ответить с цитированием
Старый 11.05.2008, 12:36   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Смотрите пример патчера памяти на мой страничке. Втаком же духе )) все
BOBAH13 вне форума Ответить с цитированием
Старый 12.05.2008, 04:09   #4
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,266
По умолчанию

Не я запускаю программу. Вот в чем дело. А мне надо отследить запуск и завершение, зная только путь
Simply-Art вне форума Ответить с цитированием
Старый 12.05.2008, 08:45   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну в принципе в таймере можно получать через CreateToolhelp32Snapshot список процессов, и сравнивать на отсутствие того или иного процесса.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2008, 08:52   #6
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от Simply-Art Посмотреть сообщение
Не я запускаю программу. Вот в чем дело. А мне надо отследить запуск и завершение, зная только путь
Вы знаете путь, а значит и имя ехе, просто установите мониторинг просессов и как только появится ваш, что-то выполните, а когда проподёт - выполнить что-то ещё.

Код:
Uses Tlhelp32;
...
Function GetTask(out ListEXE:TStringList):integer;
const
 PROCESS_TERMINATE=$0001;
var
 Co:BOOL;
 FS:THandle;
 FP:TProcessEntry32;
begin
ListEXE:=TStringList.Create;
result:=0;
FS:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FP.dwSize := Sizeof(FP);
Co:=Process32First(FS,FP);
while integer(Co) <> 0 do
 begin
  result:=result+1;
  ListEXE.Add(ExtractFileName(FP.szExeFile));
  Co:=Process32Next(FS,FP);
end;
CloseHandle(FS);
end;
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать работает ли процесс. subsonic Win Api 9 16.04.2009 18:20
Процессы в С# Спартак Общие вопросы .NET 4 10.07.2008 12:33
Процессы student_63 Win Api 4 13.04.2008 11:46
Удаленные процессы Баламут Win Api 3 15.03.2008 00:53
бизнес-процессы dmitriycmk Софт 0 24.11.2006 10:44