您的位置:首页 > 编程语言

获取文件最后修改时间的VC代码

2013-04-24 10:48 821 查看
很多时候我们需要知道系统是什么时候编译生成的。我想到的一个直接的思路的是获取exe文件的最后修改时间。下面的一段代码可以做到这一点:

[cpp] view
plaincopy

  CWinApp* pApp = AfxGetApp();  

    std::string strAppName;  

    if (NULL!=pApp)  

    {  

        TCHAR szAppName[MAX_PATH];  

        memset(szAppName,'\0',MAX_PATH*sizeof(TCHAR));  

        :: GetModuleFileName(pApp->m_hInstance,szAppName, MAX_PATH);  

        strAppName = szAppName;  

        WIN32_FIND_DATA ffd ;  

        HANDLE hFind = FindFirstFile(szAppName,&ffd);   

        SYSTEMTIME st = {0};  

        TCHAR szTimeBuf[64] = {0};  

        FILETIME LocalFileTimel;  

        FileTimeToLocalFileTime(&ffd.ftLastWriteTime, &LocalFileTimel);  

        FileTimeToSystemTime(&LocalFileTimel, &st);  

        sprintf(szTimeBuf,"%4d-%02d-%02d %02d:%02d:%2d", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);   

}  

          当然如果一个系统的某些dll是动态加载的,即dll修改了但exe还没修改的话,就需要比较dll的修改时间和exe文件的修改时间以确定系统的编译生成时间。

转自:http://blog.csdn.net/clever101/article/details/8728397
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: