c++ win32 获取进程启动时间


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转换成当前系统时区时间


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM