您的位置:首页 > 其它

vc 获取程序版本号,当前程序路径,文件修改时间 等

2009-02-17 17:32 507 查看
获取版本:



CString GetFileVersion(char*  FileName)
{   
	int   iVerInfoSize;
	char   *pBuf;
	CString   asVer="";
	VS_FIXEDFILEINFO   *pVsInfo;
	unsigned   int   iFileInfoSize   =   sizeof(   VS_FIXEDFILEINFO   );
    
    
	iVerInfoSize   =   GetFileVersionInfoSize(FileName,NULL); 
    
	if(iVerInfoSize!= 0)
	{   
		pBuf   =   new   char[iVerInfoSize];
		if(GetFileVersionInfo(FileName,0,   iVerInfoSize,   pBuf   )   )   
		{   
			if(VerQueryValue(pBuf,   "//",(void   **)&pVsInfo,&iFileInfoSize))   
			{   
				asVer.Format("%d.%d.%d.%d",HIWORD(pVsInfo->dwFileVersionMS),LOWORD(pVsInfo->dwFileVersionMS),HIWORD(pVsInfo->dwFileVersionLS),LOWORD(pVsInfo->dwFileVersionLS));
			}   
		}   
		delete   pBuf;   
	}   
	return   asVer;   
}




获取路径:

CString GetCurrentAppDirectory()
{
	char szFile[MAX_PATH];
	char szPath[MAX_PATH];
	GetModuleFileName(NULL,szFile,MAX_PATH);
	size_t i;
	for(i=strlen(szFile)-1; i>0 && szFile[i]!='//'; i--);
	szFile[i]='/0';
	strcpy(szPath,szFile); 
	return (szPath);
}




获取修改时间:

CString GetModifyTime(CString appname)
{
	WIN32_FIND_DATA ffd ;
	HANDLE hFind = FindFirstFile(appname,&ffd);
	SYSTEMTIME stUTC, stLocal;
	FileTimeToSystemTime(&(ffd.ftLastWriteTime), &stUTC);
	SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);
	CString strTmp;
	strTmp.Format("%d-%d-%d,%d:%d", stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute);
	//--	
	return strTmp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: