检测dll是32/64位 ?

简介: <p>检测dll是32/64位 ?<br></p><p><br></p><p></p><pre code_snippet_id="614744" snippet_file_name="blog_20150309_1_4215500" name="code" class="html">void CCheck32Or64Dlg::OnButton2() { CString fileNam

检测dll是32/64位 ?


void CCheck32Or64Dlg::OnButton2() 
{
	CString fileName = "";
	CFileDialog *fileDialog = new CFileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY,"Dll Files(*.dll)|*.dll|Exe Files(*.exe)|*.exe||",NULL);
	if(fileDialog->DoModal()==IDOK)
	{
		fileName = fileDialog->GetPathName();
		byte buf[4];
		CFile file(fileName,CFile::modeRead);
		file.Seek(0x40-4,0);
		file.Read(buf,4);
		int a,b,c,d;
		a = int(buf[0]);
		b = int(buf[1])*256;
		c = int(buf[2])*256*256;
		d = int(buf[3])*256*256*256;
		int sum = a+b+c+d;
		file.Seek(sum+4,0);
		byte bufMachine[2];
		file.Read(bufMachine,2);
		int machine = (int)bufMachine[0] + (int)(bufMachine[1])*256;
		if(machine == 0x14C)
		{
			MessageBox(fileDialog->GetFileName()+"是32位PE文件","检测结果");
		}
		else if(machine == 0x8664)
		{
			MessageBox(fileDialog->GetFileName()+"是64位PE文件","检测结果");
		}
		else
		{
			MessageBox("未能识别:"+fileDialog->GetFileName()+"多少位的PE文件!","检测结果");
		}
	}
}


相关文章
|
4月前
[VS&Halcon] 无法定位程序输入点于动态链接库 .dll上
[VS&Halcon] 无法定位程序输入点于动态链接库 .dll上
80 0
|
4月前
|
小程序
[VS&Halcon] 无法定位程序输入点于动态链接库 .exe上
[VS&Halcon] 无法定位程序输入点于动态链接库 .exe上
56 0
C#编译时嵌入dll至生成的exe
C#编译时嵌入dll至生成的exe
267 0
|
Windows
模块 DLL usrresol.dll 未能加载
IIS应用程序池自动关闭,模块DLL C:\windows\system32\inetsrv\urlresol.dll 未能加载
501 0
模块 DLL usrresol.dll 未能加载
|
C# .NET 开发框架
C# 版dll 程序集合并工具
原文:C# 版dll 程序集合并工具 C# 版dll 程序集合并工具      最近要开发一个控件给同事用,开发中会引用一些第三方DLL,这样交给用户很不方便,希望的效果是直接交付一个DLL文件。网上找了一些资料。
1108 0
|
存储 C# C++
VS2005环境下的DLL应用
VS2005环境下的DLL应用 作者:一点一滴的Beer http://beer.cnblogs.com/     以前写过一篇题为《VC++的DLL应用(含Demo演示)》的文章,当时是刚开始接触DLL,而且所讲到的一些DLL的应用都是比较浅层次的数据传递,基本不具备很强的实用性,而且所选用的开发环境是VC6.0,这次因为做做WinCE开发的过程中需要用到这个技术,所以进行了比较深入的研究,而且此次用的是VS2005开发环境,对比VC6.0的一些操作略有不同,所以重新进行了整理。
1139 0
|
C#
C#将DLL嵌入到exe当中
原文:C#将DLL嵌入到exe当中 一、将dll文件加入工程 1.找到dll文件 可以在项目的“引用”下找到dll,并且根据属性中的“路径”找到文件所在目录;也可以使用bin目录下自动生成(其实就是复制)的dll文件  这里需要注意,“引用”下的dll,需要设置“复制本地”为False,这样在bin目录下生成exe的时候就不会顺便复制dll了(感觉这步可要可不要)。
2086 0
|
Windows 搜索推荐
DLL文件修复
当你在Windows计算机中安装非操作系统的软件时,往往会覆盖或改写系统共享文件, 如动态链接库(.dll文件)和可执行文件(.exe文件)。  * 对于Windows系统来说,当用户操作不当(如非正常关机)时,就时常会出现DLL文件丢失或破坏现象。
1006 0