Не удается получить время начала процесса - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь установить время запуска запущенного процесса на Windows. Я провел некоторый поиск, и несколько человек предложили получить время создания процесса с помощью GetProcessTimes (), но это, похоже, не возвращает точную информацию. После преобразования времени в системное время, кажется, возвращается 23 для часа вместо правильного времени. Как я могу получить правильное время? Конечно, должен быть способ, если Process Explorer может это сделать.

// Returns the wrong time
SYSTEMTIME ftime;
FILETIME creationTime;
GetProcessTimes(hProcess, &creationTime, &exitTime, &kernelTime, &userTime);
FileTimeToSystemTime(&creationTime, &ftime);

1 Ответ

2 голосов
/ 16 февраля 2020

FileTimeToSystemTime () получает время в UT C времени. 23 является правильным ответом в течение следующих 10 минут:)

Вы можете использовать SystemTimeToTzSpecificLocalTime () для преобразования времени UT C в местный часовой пояс (путем передачи значения NULL в качестве первого параметра ) или в любой другой часовой пояс, который вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...