擷取版本:
CString GetFileVersion(char* FileName)<br />{<br />int iVerInfoSize;<br />char *pBuf;<br />CString asVer="";<br />VS_FIXEDFILEINFO *pVsInfo;<br />unsigned int iFileInfoSize = sizeof( VS_FIXEDFILEINFO );</p><p>iVerInfoSize = GetFileVersionInfoSize(FileName,NULL); </p><p>if(iVerInfoSize!= 0)<br />{<br />pBuf = new char[iVerInfoSize];<br />if(GetFileVersionInfo(FileName,0, iVerInfoSize, pBuf ) )<br />{<br />if(VerQueryValue(pBuf, "//",(void **)&pVsInfo,&iFileInfoSize))<br />{<br />asVer.Format("%d.%d.%d.%d",HIWORD(pVsInfo->dwFileVersionMS),LOWORD(pVsInfo->dwFileVersionMS),HIWORD(pVsInfo->dwFileVersionLS),LOWORD(pVsInfo->dwFileVersionLS));<br />}<br />}<br />delete pBuf;<br />}<br />return asVer;<br />}
擷取路徑:
CString GetCurrentAppDirectory()<br />{<br />char szFile[MAX_PATH];<br />char szPath[MAX_PATH];<br />GetModuleFileName(NULL,szFile,MAX_PATH);<br />size_t i;<br />for(i=strlen(szFile)-1; i>0 && szFile[i]!='//'; i--);<br />szFile[i]='/0';<br />strcpy(szPath,szFile);<br />return (szPath);<br />}
擷取修改時間:
CString GetModifyTime(CString appname)<br />{<br />WIN32_FIND_DATA ffd ;<br />HANDLE hFind = FindFirstFile(appname,&ffd);<br />SYSTEMTIME stUTC, stLocal;<br />FileTimeToSystemTime(&(ffd.ftLastWriteTime), &stUTC);<br />SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);<br />CString strTmp;<br />strTmp.Format("%d-%d-%d,%d:%d", stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute);<br />//--<br />return strTmp;<br />}