![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отслеживание запущенных приложений [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