GetProcessTimes函数获取有关指定进程的时间信息。
BOOL GetProcessTimes(
HANDLE 【hProcess】, | //指定感兴趣的进程 |
LPFILETIME 【lpCreationTime】, | //进程创建时 |
LPFILETIME 【lpExitTime】, | //当进程退出时 |
LPFILETIME 【lpKernelTime】, | //进程在内核模式下花费的时间 |
LPFILETIME 【lpUserTime】 | //进程在用户模式下花费的时间 |
); |
参数
【hProcess】
一个打开的句柄,指定寻找定时信息的进程。必须使用PROCESS_QUERY_INFORMATION访问权限创建此句柄。有关详细信息,请参阅过程对象.
【lpCreationTime】
指向FILETIME结构,接收进程的创建时间。
【lpExitTime】
指向FILETIME结构的接收进程的退出时间。如果这个过程没有退出,这个结构的内容是不明确的。
【lpKernelTime】
指向FILETIME结构,它接收进程在内核模式下执行的时间量。确定进程的每个线程在内核模式下执行的时间,然后将所有这些时间相加在一起以获取该值。
【lpUserTime】
指向FILETIME结构,它接收进程在用户模式下执行的时间量。确定进程的每个线程在用户模式下执行的时间,然后将所有这些时间相加在一起以获得该值。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
所有时间都使用FILETIME数据结构表示。这样的结构包含两个32位值,它们组合形成100纳秒时间单位的64位计数。
过程创建和退出时间是指1601年1月1日凌晨在格林威治格林威治时间过去的时间量。Win32 API提供了一些应用程序可以将这些值转换为更普遍有用的表单的功能。
处理内核模式和用户模式时间是一段时间。例如,如果进程在内核模式下花费了一秒钟,则此函数将填充【lpKernelTime】指定的FILETIME结构,其值为一千万的64位值。这是一秒钟内100纳秒的单位数。
也可以看看
FILETIME, FileTimeToDosDateTime, FileTimeToLocalFileTime, FileTimeToSystemTime