如何获得正在运行的进程的启动时间?

时间:2014-02-24 20:03:57

标签: c++

我正在尝试启动正在运行的进程。是否有可能在Windows中做,以及如何请?

1 个答案:

答案 0 :(得分:1)

您可以使用GetProcessTimes()功能。使用GetCurrentProcess()来获取当前进程的句柄。

其中一个参数(lpCreationTime)是一个指向FILETIME结构的指针,该结构将填充创建进程的时间。

然后,您可以使用FileTimeToSystemTime()FILETIME结构转换为具有日历日/月/年和小时/分钟/秒字段的SYSTEMTIME结构。

HANDLE hCurrentProcess = GetCurrentProcess();

FILETIME creationTime;
FILETIME exitTime;
FILETIME kernelTime;
FILETIME userTime;

GetProcessTimes(hCurrentProcess, &creationTime,
    &exitTime, &kernelTime, &userTime);

SYSTEMTIME systemTime;
FileTimeToSystemTime(&creationTime, &systemTime);

// systemTime now holds the calendar date/time the
// current process was created