社区

C语言 帖子详情 怎么查看exe和dll文件的版本信息? 善良超锅锅 2017-12-21 08:37:03 别人给的exe,dll。想集成到自己的代码中。怎么查看exe,dll的版本信息:x86还是x64,debug还是release,用的哪个vs版本。

有这样的工具吗?

...全文

1747 4 打赏 收藏 怎么查看exe和dll文件的版本信息? 别人给的exe,dll。想集成到自己的代码中。怎么查看exe,dll的版本信息:x86还是x64,debug还是release,用的哪个vs版本。 有这样的工具吗? 复制链接

扫一扫 分享 转发到动态 举报

写回复 配置赞助广告取 消

确 定

用AI写文章 4 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 赵4老师 2017-12-22 打赏举报 回复 仅供参考:#pragma comment(lib,"version")

#include

#include

void HexDump(char *buf,int len,int addr) {

int i,j,k;

char binstr[80];

len=(int)(*(WORD *)buf);

printf("0x%08X bytes:\n",len);

for (i=0;i

if (0==(i%16)) {

sprintf(binstr,"%08x -",i+addr);

sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);

} else if (15==(i%16)) {

sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);

sprintf(binstr,"%s ",binstr);

for (j=i-15;j<=i;j+=2) {

sprintf(binstr,"%s%C",binstr,(buf[j]<=0x20&&buf[j+1]==0)?L'.':*(wchar_t *)&buf[j]);

}

printf("%s\n",binstr);

} else {

sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);

}

}

if (0!=(i%16)) {

k=16-(i%16);

for (j=0;j

sprintf(binstr,"%s ",binstr);

}

sprintf(binstr,"%s ",binstr);

k=16-k;

for (j=i-k;j

sprintf(binstr,"%s%C",binstr,(buf[j]<=0x20&&buf[j+1]==0)?L'.':*(wchar_t *)&buf[j]);

}

printf("%s\n",binstr);

}

}

int main(int argc,char **argv) {

DWORD dwVerHnd;

DWORD dwVerInfoSize;

VS_FIXEDFILEINFO *pFileInfo;

LPVOID lpvMem;

HANDLE hMem;

unsigned int uInfoSize;

WORD m_nProdVersion[4];

if (argc<2) {

printf("Usage: %s fullpathfilename.ext [dumpall]\n",argv[0]);

return 1;

}

dwVerInfoSize = GetFileVersionInfoSize(argv[1], &dwVerHnd);

if (dwVerInfoSize) {

hMem = GlobalAlloc(GMEM_MOVEABLE, dwVerInfoSize);

lpvMem = GlobalLock(hMem);

GetFileVersionInfo(argv[1], dwVerHnd, dwVerInfoSize, lpvMem);

VerQueryValue(lpvMem,"\\",(void**)&pFileInfo, &uInfoSize);

m_nProdVersion[0]=HIWORD(pFileInfo->dwProductVersionMS);

m_nProdVersion[1]=LOWORD(pFileInfo->dwProductVersionMS);

m_nProdVersion[2]=HIWORD(pFileInfo->dwProductVersionLS);

m_nProdVersion[3]=LOWORD(pFileInfo->dwProductVersionLS);

printf("The file [%s]'s version: %d.%d.%d.%d\n",argv[1],

m_nProdVersion[0],

m_nProdVersion[1],

m_nProdVersion[2],

m_nProdVersion[3]);

if (argc>2) {//dumpall

HexDump((char *)lpvMem,dwVerInfoSize,0);

}

GlobalUnlock(hMem);

GlobalFree(hMem);

} else {

printf("Can not GetFileVersionInfoSize(%s,...)!\n",argv[1]);

}

return 0;

}

Qlaiaqu 2017-12-22 打赏举报 回复 右键属性就可以啊 paschen 2017-12-21 打赏举报 回复 去下载一个PEID可以查看 真相重于对错 2017-12-21 打赏举报 回复 我记的有!具体的名字忘了

exe dll 其实是pe格式的可执行文件,了解一下pe文件! iChat 1.61 用户管理模块源代码 支持ACCESS或SQL SERVER数据库(通过ODBC支持),兼容etchat用户文件格式。

用户注册管理部分用DLL形式从iChat.exe中独立出来。

用户注册、验证部分DLL模块源码公开。

VS DLL文件和EXE文件添加文件版本信息 在VS中可以通过添加资源,然后再在资源中添加Version来显示exe或者dll的版本信息。

Version的编辑界面如下图所示:

编译工程后可以查看dll的属性信息,上面编辑好的信息已经显示在属性界面上了:

单个工程当然就在这里直接编辑信息就好了,如果是多个工程的情况下,每次升级软件版本都要去修改每个Version的信息,不仅麻烦,而且容易出错和漏改。

在vs中右键点击rc文件,选择打开方... 电脑中缺少dll文件怎么解决?电脑dll文件要怎么打开? 使用电脑比较多的用户们平时肯定会用到各种文件的,在电脑的使用过程中也会接触到各种系统文件,想必大家对于电脑中的dll文件都是很熟悉的,尤其是一些电脑的重度用户们,dll文件能够保证电脑中各种软件应用的正常运行,在电脑系统文件中也处于非常重要的地位,不过大家肯定也遇到过dll文件缺失这种情况,那么电脑中缺少dll文件怎么解决?电脑dll文件要怎么打开?下面小编就为大家来详细介绍一下。 修改exe、dll等PE文件的版本信息 ModifyVersionInfo功能:

修改exe、dll文件的版本信息

命令行传参形式:

ModifyVersionInfo.exe <-FilePath="x:\test.exe"> [-FileDescription="xxxx"][...]

可使用的参形选项:

-FilePath:必须,指定待修改的exe、dll文件路径

-Comments:可选,注释信息,若不指定则使用默认信息

-CompanyName:可选,公司名称,若不指定则使用默认信息

-FileDescrip DLL文件是什么?有几种调用方式? 一、DLL文件是什么?DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件

C语言

70,017

社区成员

243,265

社区内容

发帖 与我相关 我的任务 C语言 C语言相关问题讨论 复制链接

扫一扫 分享 确定 社区描述 C语言相关问题讨论 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章