VC移植32位程序到64位系统注意事项.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC移植32位程序到64位系统注意事项

如何移植32位程序到64位系统一.简单介绍64个系统已经为32位的应用程序准备了运行32位程序的环境,这个环境就是WOW64的WOW64 是Windows -32-on-Windows-64 的缩写。它为现有的 32 位应用程序提供了 32 位的模拟,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。它类似于旧的WOW32子系统,负责在 Windows 32 位版本下运行 16 位的代码。WOW64的是视窗 - 32上的Windows - 64的缩写。它为现有的32位应用程序提供了32位的模拟,可以使大多数32位应用程序在无需修改的情况下运行在64位版本的Windows上类似于旧的WOW32 子系统,负责在的Windows 32位版本下运行16位的代码。64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。64 位版本 Windows 包含的默认 64 位版本注册表编辑器 (Regedit.exe) 可显示 64 位和 32 位的注册表项。WOW64 注册表重定向器为 32 位程序提供了对应于 32 位程序注册表项的不同注册表项。下面介绍一点编程中要用到的东西。 1.当然,这里你还必须用到一个就是,如何判断系统是32位系统还是64位系统呢?如果你要用小改变是必须知道现在到底是32,还是64。 IsWow64返回TRUE则是64位系统,否则为32位系统。 code如下:VC测试通过 typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL IsWow64(){ BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress( GetModuleHandle(TEXT(kernel32)),IsWow64Process); if (NULL != fnIsWow64Process) { if (!fnIsWow64Process(GetCurrentProcess(),bIsWow64)) { // handle error AfxMessageBox(IsWow64 error!); } } return bIsWow64; }2.在 64 位版本的注册表编辑器中,32 位注册表项显示在以下注册表项下:HKEY_LOCAL_MACHINE\Software\WOW6432Node使用默认的 64 位版本注册表编辑器,可以查看或编辑 64 位和 32 位的注册表项和项值。要查看或编辑 64 位注册表项,必须使用 64 位版本的注册表编辑器 (Regedit.exe)。还可以使用 %systemroot%\Syswow64 文件夹中的 32 位版本注册表编辑器查看或编辑 32 位注册表项和项值。在 32 位版本注册表编辑器中执行任务的方式与 64 位版本注册表编辑器没有区别。要打开 32 位版本的注册表编辑器,请按照下列步骤操作:单击“开始”,然后单击“运行”。在“打开”框中,键入 %systemroot%\syswow64\regedit,然后单击“确定”。注意:除非使用 -m 开关启动注册表编辑器的第二个实例,否则,必须先关闭 64 位版本的注册表编辑器,然后才能打开 32 位版本的注册表编辑器(反之亦然)。例如,如果 64 位版本的注册表编辑器已经在运行,在第 2 步键入 %systemroot%\syswow64\regedit -m 可启动 32 位版本的注册表编辑器。为了支持 32 位和 64 位 COM 注册和程序状态的共存,WOW64 为 32 位程序提供了一种备用注册表视图。32 位程序会看到与真正的 64 位 HKEY_LOCAL_MACHINE\Software 树完全分开的 32 位 HKEY_LOCAL_MACHINE\Software 树 (HKEY_LOCAL_MACHINE\Software\WOW6432Node)。这样可以隔离 HKEY_CLASSES_ROOT,因为此树的每个计算机部分驻留在以下注册表项内:HKEY_LOCAL_MACHINE\Software为了通过 COM 和其他机制实现 64 位/3

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档