Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить сколько времени запущена программа


baataars ©   (2003-11-14 19:32:00) 

?


baataars   (2003-11-21 08:49:00) [1]

спасибо за ответ. попробую реализовать.

Жалко что нельзя узнать через системные функции, чеж билл гейтс не предусмотрел? приходиться заново изобретать велосипед.


default   (2003-11-15 01:21:00) [2]

опс, это не по теме)


default   (2003-11-15 01:17:00) [3]

WaitForSingleObject
"Process The CreateProcess or OpenProcess function returns the handle. A process object"s state is signaled when the process terminates."
хендл процесса ты писал знаешь как получить
вроде дело за малым


DeadMeat   (2003-11-15 01:14:00) [4]

> default © (15.11.03 01:11) [4]
> а если чужая прога была запущена раньше его?
Выход...
Грузиться через ветку RunServices (в случае Win98/ME..., а если Win2k/XP, то просто Run), получить список процессов при запуске, и если там висит эта прога, то начинать отсчёт с нуля..., т.к. всё только начало работать...


default   (2003-11-15 01:11:00) [5]

Дубинин Алексей © (15.11.03 00:48) [3]
а если чужая прога была запущена раньше его?


Дубинин Алексей   (2003-11-15 00:48:00) [6]

Возможен такой выход из этой проблемы. Пусть у тебя стоит программа менеджер которая следит за другими программами. Пишешь ловушку, ставишь ее на WH_SHELL. Как запустилась программа...получил в wParam ее хэндл...определил что это за программа..если та которая угу, то начинаешь считать время...после когда время кончилось уибваешь ее...не забывая вновь определить а не выключили ли ее. Вот так, например, пойдет? :-))


baataars   (2003-11-14 21:43:00) [7]

Сорри что не правильно сформировал вопрос.

нужно получить сколько времени запущена чужая программа (чужой exe, исходников нету) и именно виндовая программа.

У меня задача - проконтролировать чужую программу - если она работает больше 15 минут - послать ей kill.

как получить список процессов и найти нужную программу я знаю и знаю как послать ей килл, интересно - можно ли вообще получить время когда была запущена программа или сколько времени прошло с момента запуска, потому что таскманагер это не показывает. и prcview тож не показывает.


}{enon   (2003-11-14 20:09:00) [8]

1)Создать таймер, в котором каждые Х секунд прибавлять Х к переменной. Минус в том, что через некоторое время происходит "сбой" - реакция таймера не мгновенна, а потому время будет не очень точно.
2)Получить системное время (функция Now(), либо ищи по хелпу). Проблема возникнет, если юзер врубит спящий режим - тогда комп будет выключен, а время будет идти.


Наверх

Титульная страница Поиск, карта сайта Написать письмо