vc 获取程序版本号,当前程序路径,文件修改时间 等
来源:互联网 发布:艾薇软件5.2 编辑:程序博客网 时间:2024/06/05 07:26
获取版本:
- 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;
- }
转帖:http://blog.csdn.net/lanmanck/article/details/3901590
==============================================================================================
上面那个有问题,下面这个成功:
CString CMFCVLCDlg::GetFileVer(){ char cPath[200],szVersionBuffer[200]; DWORD dwHandle,InfoSize; CString strVersion; ::GetModuleFileName(NULL,cPath,sizeof(cPath)); //首先获得版本信息资源的长度 InfoSize = GetFileVersionInfoSize(cPath,&dwHandle); //将版本信息资源读入缓冲区 if(InfoSize==0) return _T("None VerSion Supprot"); char *InfoBuf = new char[InfoSize]; GetFileVersionInfo(cPath,0,InfoSize,InfoBuf); //获得生成文件使用的代码页及文件版本 unsigned int cbTranslate = 0; struct LANGANDCODEPAGE { WORD wLanguage; WORD wCodePage; } *lpTranslate; VerQueryValue(InfoBuf, TEXT("\\VarFileInfo\\Translation"),(LPVOID*)&lpTranslate,&cbTranslate); // Read the file description for each language and code page. for( int i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ ) { char SubBlock[200]; wsprintf( SubBlock, TEXT("\\StringFileInfo\\%04x%04x\\FileVersion"), lpTranslate[i].wLanguage, lpTranslate[i].wCodePage); void *lpBuffer=NULL; unsigned int dwBytes=0; VerQueryValue(InfoBuf, SubBlock, &lpBuffer, &dwBytes); CString strTemp=(char *)lpBuffer; strVersion+=strTemp; } return strVersion;}
转帖:http://www.cnblogs.com/wxlzhizu/archive/2009/12/09/1620009.html
- vc 获取程序版本号,当前程序路径,文件修改时间 等
- vc 获取程序版本号,当前程序路径,文件修改时间 等
- VC获取当前程序文件的路径
- VC 获取程序当前路径
- VC 获取当前时间程序
- 获取当前程序版本号
- VC获取当前程序文件的路径、文件名、全文件名
- vc获取当前程序文件的路径方法[转]
- VC++获取程序版本号
- c# winform获取当前路径exe程序的版本号
- 获取当前程序的版本号
- 获取当前程序的版本号
- VC 获取程序的版本号
- 获取程序版本号等信息
- VC获取当前程序文件的路径,文件名以及路径+文件名
- VC获取当前程序文件的路径,文件名以及路径2种方法对比建议
- [转]VC获取当前程序文件的路径,文件名以及路径+文件名
- VC获取当前程序文件的路径,文件名以及路径+文件名
- 如何在eclipse中,为整个工程生成javadoc文档
- 21个角度关注PHP执行效率(仅供参考)
- 手机的WiFi功能和GPRS有什么区别
- linux 系统负载高 如何检查?(转载)
- 脚本元素
- vc 获取程序版本号,当前程序路径,文件修改时间 等
- <jsp:forward>动作
- byte 与 byte[]
- 我逝去的爱情
- mysql 用户操作
- <jsp:include>
- 纠结的一个问题
- latex中错误:”Unknown graphics extension: .eps“ 或者在插入图片时明明有这个文件 但是can not find **
- linux直接进入命令行登录的方面