Я пытаюсь получить время запуска текущего процесса. Можно ли это сделать в Windows, и как, пожалуйста?
Вы можете использовать функцию GetProcessTimes(). Используйте GetCurrentProcess(), чтобы получить дескриптор текущего процесса.
Один из его аргументов (lpCreationTime
) - это указатель на структуру FILETIME
которая заполняется во время создания процесса.
Затем вы можете использовать FileTimeToSystemTime(), чтобы преобразовать структуру FILETIME
структуру SYSTEMTIME
которая имеет 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