Что нового

[Процессы] Время работы процесса

classick

Новичок
Сообщения
16
Репутация
1
День добрый.

Подскажите пожалуйста, как получить длительность работы того или иного процесса?
К примеру, chrome.exe

Спасибо
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
classick,
_WinAPI_GetProcessTimes(). Пример:
Код:
;~ min AutoIt v3.3.8.1
#include <Date.au3>
#include <WinAPIEx.au3> ;AutoIt v3.3.8.1
;~ #include <WinAPIProc.au3> ;AutoIt v3.3.12.0
Opt('MustDeclareVars', 1)

Global $aFT, $tFT, $tST, $ID = ProcessExists('SciTE.exe')

If $ID Then
	$aFT = _WinAPI_GetProcessTimes($ID)
	$tFT = _Date_Time_FileTimeToLocalFileTime($aFT[0])
	$tST = _Date_Time_FileTimeToSystemTime($tFT)
	ConsoleWrite(_DateDiff('s', _Date_Time_SystemTimeToDateTimeStr($tST, 1), _NowCalc()) & ' sec' & @LF)
EndIf
 
Автор
C

classick

Новичок
Сообщения
16
Репутация
1
Спасибо, то что надо!

А можете объяснить работу этих двух функций, особенно момент с DllStructGetPtr?
Код:
$tFT = _Date_Time_FileTimeToLocalFileTime(DllStructGetPtr($aFT[0]))
$tST = _Date_Time_FileTimeToSystemTime(DllStructGetPtr($tFT))

Спасибо!
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
classick [?]
момент с DllStructGetPtr?
DllStructGetPtr() в примере из справки остался от версии AutoIt 3.3.6.1, можно убрать (см. поправленный код).
 
Верх