获取exe文件信息
来源:互联网 发布:用visio画网络拓扑图 编辑:程序博客网 时间:2024/04/27 18:58
#include <atlstr.h>#pragma comment(lib, "version.lib")struct EXE_FILE_INFO {CString CompanyName;CString FileDescription;CString FileVersion;CString InternalName;CString LegalCopyright;CString OriginalFilename;CString ProductName;CString ProductVersion;// no means...CString Comments;CString LegalTrademarks;CString PrivateBuild;CString SpecialBuild;};BOOL GetExeFileInfo(EXE_FILE_INFO& fileInfo, CString exePath){ DWORD dwLen = 0; char* lpData = NULL; dwLen = GetFileVersionInfoSize(exePath, 0); if (0 == dwLen)return FALSE; lpData = new char[dwLen+1]; if(!GetFileVersionInfo(exePath, 0, dwLen, lpData)) { delete lpData; return FALSE; } LPVOID lpBuffer = NULL; UINT uLen = 0;CString subBlock;subBlock.Format(_T("\\StringFileInfo\\%s04b0\\"), _T("0804"));// 0409英文,0804中文 BOOL b1 = VerQueryValue(lpData, subBlock + _T("CompanyName"), &lpBuffer, &uLen); fileInfo.CompanyName = (TCHAR*)lpBuffer;BOOL b2 = VerQueryValue(lpData, subBlock + _T("FileDescription"), &lpBuffer, &uLen); fileInfo.FileDescription = (TCHAR*)lpBuffer;BOOL b3 = VerQueryValue(lpData, subBlock + _T("FileVersion"), &lpBuffer, &uLen); fileInfo.FileVersion = (TCHAR*)lpBuffer;BOOL b4 = VerQueryValue(lpData, subBlock + _T("InternalName"), &lpBuffer, &uLen); fileInfo.InternalName = (TCHAR*)lpBuffer;BOOL b5 = VerQueryValue(lpData, subBlock + _T("LegalCopyright"), &lpBuffer, &uLen); fileInfo.LegalCopyright = (TCHAR*)lpBuffer;BOOL b6 = VerQueryValue(lpData, subBlock + _T("OriginalFilename"), &lpBuffer, &uLen); fileInfo.OriginalFilename = (TCHAR*)lpBuffer;BOOL b7 = VerQueryValue(lpData, subBlock + _T("ProductName"), &lpBuffer, &uLen); fileInfo.ProductName = (TCHAR*)lpBuffer;BOOL b8 = VerQueryValue(lpData, subBlock + _T("ProductVersion"), &lpBuffer, &uLen); fileInfo.ProductVersion = (TCHAR*)lpBuffer;// no means...BOOL b9 = VerQueryValue(lpData, subBlock + _T("Comments"), &lpBuffer, &uLen); fileInfo.Comments = (TCHAR*)lpBuffer;BOOL b10 = VerQueryValue(lpData, subBlock + _T("LegalTrademarks"), &lpBuffer, &uLen); fileInfo.LegalTrademarks = (TCHAR*)lpBuffer;BOOL b11 = VerQueryValue(lpData, subBlock + _T("PrivateBuild"), &lpBuffer, &uLen); fileInfo.PrivateBuild = (TCHAR*)lpBuffer;BOOL b12 = VerQueryValue(lpData, subBlock + _T("SpecialBuild"), &lpBuffer, &uLen); fileInfo.SpecialBuild = (TCHAR*)lpBuffer; if (!b1) { return FALSE; } delete [] lpData; return TRUE;}LPCTSTR GetExePath(void){// 获取主程序所在路径, 存在path中TCHAR path[MAX_PATH];GetModuleFileName(NULL, path, MAX_PATH);return CString(path);}int main(void){EXE_FILE_INFO fileInfo;GetExeFileInfo(fileInfo, _T("D:\\000\\桌面\\SnapShot.exe"));return 0;}
0 0
- 获取exe文件信息
- 获取EXE及Dll文件路径信息
- 获取Exe文件版本信息的函数(拷贝收藏)
- delphi获取Exe文件版本信息的函数[转]
- 通过exe文件,获取程序版本号,公司名称等信息
- delphi 获取Exe或DLL的文件版本信息
- 通过exe文件,获取程序版本号,公司名称等信息
- 获取EXE版本信息 GetFileVersionInfo
- 获取SVN版本信息更新exe,dll文件的版本信息(C++, C#)
- 获取EXE文件版本。
- 获取exe文件目录
- 获取exe文件中的图标
- 获取exe文件中的图标
- windows获取.exe文件版本号
- 获取执行文件exe路径
- 获取DTLService.exe进程信息、结束进程
- 获取EXE或者DLL的版本信息
- vc++调用exe时,如何获取exe的输出信息
- 零件热处理工艺的编制包括以下几个方面
- 第十三周项目1-数组大折腾(二)
- 编译Coco2d-x android 程序出现make: *** No rule to make target ...CCConfiguration.o'. Stop.
- static关键字
- 第十三周 项目三:成绩处理函数版
- 获取exe文件信息
- VIM的高级使用
- IOS 之 CAKeyframeAnimation
- c语言中static和extern的用法详细解析
- Oracle 锁定临时表统计信息及锁住后是否能用动态采集的hint
- Android中android.content.Context的几种模式
- ios 定位经纬度获取位置信息,地理位置编码与反编码
- 转载文章
- Photoshop脚本 > 取消当前选区