Как мне узнать время запуска запущенного процесса?

0

Я пытаюсь получить время запуска текущего процесса. Можно ли это сделать в Windows, и как, пожалуйста?

  • 0
    Это может быть начало: PROCESS_INFO
Теги:

1 ответ

1
Лучший ответ

Вы можете использовать функцию 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
  • 0
    Как мне отобразить его значение, пожалуйста?
  • 0
    @ user3319426 как вывод на консоль? Как окно сообщения? Как текстовая метка в окне? Окно MFC или окно, созданное с помощью собственного API Win32? Возможно, вам не по себе, если вы не знаете, как отобразить значение из программы?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню