HANDLE process = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID); if (process != NULL){ FILETIME ftCreation, ftExit, ftKernel, ftUser; SYSTEMTIME stCreation, lstCreation; if (GetProcessTimes(process, &ftCreation, &ftExit, &ftKernel, &ftUser)) { FileTimeToSystemTime(&ftCreation, &stCreation); SystemTimeToTzSpecificLocalTime(NULL, &stCreation, &lstCreation); } CloseHandle(process); }
GetProcessTimes獲取到的是FILETIME,然后轉成SYSTEMTIME,SYSTEMTIME是格林威治時間,北京時間是UTC+8,所以轉換出來的時間會比電腦看到的時間少8小時
SystemTimeToTzSpecificLocalTime可以將SYSTEMTIME轉換成當前系統時區時間