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

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

Отслеживание запущенных приложений [D7, Win2k]


zolotov ©   (2003-04-22 17:51:00) 

Ув. мастера, подскажите, пожалуйста, как отследить какое приложение было запущено и сколько времени с ним работали?


Nikolai   (2003-04-23 08:53:00) [1]

Если отслеживать нужно оконное приложение, можно поробовать так:
wnd := FindWindow("...","..."); // найти описатель интересующего окна
GetWindowThreadProcessId(wnd, @dw); // получить идентификатор его процесса
hProc := OpenProcess(PROCESS_QUERY_INFORMATION, False, dw); //получить описатель процесса
GetProcessTimes(hProc, ...); //получение требуемой инф.

--
Может есть и лучший путь, но я его не знаю :(


SunSay   (2003-04-22 22:39:00) [2]

Если надо идею, то (я так понял программа наша все время работает незаметно для пользователя) можно функцией EnumWindows или EnumDesktopWindows отлавливать все запущенные программы (не избежать попадания всякого мусора); когда запустится какое-то еще приложение можно это легко будет проследить и включить счетчик для этого приложения, и когда пользователь его кильнет запомнить результат (записать в файл время запуска и закрытия).
Может есть еще способ... надо подумать...
_______________
Да прибудет с тобой святой kernel32


Наверх

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