wow64相关内容

为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2?

我拨打了以下电话: result = RegOpenKeyEx(key, s, 0, KEY_READ, &key); (C++、Visual Studio 5、Vista 64 位). 即使“regedit"显示密钥存在,它也失败并显示错误代码 2(“找不到文件").此代码始终适用于 32 位 XP.明明有文件,为什么会“找不到文件"? 解决方案 我发现我可以使用标志来解决我的 ..
发布时间:2021-12-18 08:08:04 C/C++开发

32 位进程在 64 位操作系统上可以访问多少内存?

在 Windows 上,在正常情况下,32 位进程只能访问 2GB 的 RAM(或 3GB,在 boot.ini 文件中使用特殊开关).在 64 位操作系统上运行 32 位进程时,有多少内存可用?是否有任何特殊的开关或设置可以改变这一点? 解决方案 默认为 2 GB.如果应用程序知道大地址空间(与/LARGEADDRESSAWARE 链接),它将获得 4 GB(不是 3 GB,请参阅 ht ..
发布时间:2021-12-05 19:00:11 其他开发

如何从 32 位 WOW 进程枚举 64 位进程中的模块

我需要在 Windows 的 32 位 WOW 进程中检索 64 位进程的所有模块,EnumProcessModules 会失败,如下所述: 如果这个函数是从运行在WOW64上的32位应用程序调用的,它只能枚举一个32位进程的模块.如果进程是 64 位进程,则此函数失败,最后一个错误代码为 ERROR_PARTIAL_COPY (299). 对于 EnumProcessModulesE ..
发布时间:2021-11-26 14:42:09 其他开发

wow64 进程中的 x64 模块?

我有一个小的 32 位进程,我正在 win7 x64 上调试,我看到它按预期加载了“C:\windows\sysWow64\ntdll.dll",但也加载了“C:\windows\system32\ntdll.dll". 我知道 x64 模块和 x86 模块不混合,但在这里它们是...混合... 怎么可能? 解决方案 这是 WOW64 的一个特殊“功能",请参阅 这篇文章.相关部分是: ..
发布时间:2021-11-25 07:12:16 C#

PostMessage 参数从 32 位 C# 到 64 位 C++

当 wParam 从 32 位 C# 应用程序转变为 64 位 C++ 进程的过程中传递的指针内容时,我遇到了问题. 有两个进程32.exe(C#)和64.exe(C++).64.exe 作为 32.exe 的子进程启动.32.exe 为 64.exe 发布窗口消息,其中一个具有 wParam,它是指向 RECT 结构数组的指针.64.exe 和 32.exe 都有一个共同的 DLL(用 C ..
发布时间:2021-11-25 06:58:06 C#/.NET

32 位程序在 64 位操作系统上的运行速度与在 32 位操作系统中本机运行时相比是否相对较慢?

我在这里阅读了有关 WOW 64 的信息http://en.wikipedia.org/wiki/WOW64 并了解到它在 64 位 Windows 操作系统中的一个层来运行 32 位程序. 那么我可以假设 32 位程序在 64 位操作系统上的运行速度相对较慢,而它们在 32 位操作系统中本机运行. 我可以看到在 64 位操作系统中访问超过 4 GB 内存的优势.但是这个优势一定 ..
发布时间:2021-11-25 06:49:01 C#

编译 0K 时,x64 系统上的 win32 应用程序的运行时错误(dll 加载)

我最初在win7 32位上设计了一个win32应用程序,用VC9.0.最近升级到win7 64位,尝试构建+执行之前的应用. 构建运行良好(win32 应用程序),但在运行时出现错误“[...] 已退出,代码为 -1073741701 (0xc000007b)." 我猜这是加载 [预期] 32 位 dll 的 64 位版本的结果. 此项目的特定依赖项是:文件库SDLmain.li ..
发布时间:2021-11-25 05:58:23 C/C++开发

读取注册表和 Wow6432Node 键

我有一些代码可以读取注册表并在 HKEY_LOCAL_MACHINE\Software\App\ 中查找值,但是在 64 位版本的 Windows 上运行时,该值位于 HKEY_LOCAL_MACHINE\Software\Wow6432Node\App\. 我应该如何最好地解决这个问题?我是否需要 64 位安装程序,还是应该重写代码以检测两个位置? 解决方案 如果您将 C# 程序标 ..
发布时间:2021-11-25 05:04:16 C#/.NET

如何从 32 位 WOW 进程枚举 64 位进程中的模块

我需要在 Windows 的 32 位 WOW 进程中检索 64 位进程的所有模块,EnumProcessModules 会失败,如下所述: 如果这个函数是从运行在WOW64上的32位应用程序调用的,它只能枚举一个32位进程的模块.如果进程是 64 位进程,则此函数失败,最后一个错误代码为 ERROR_PARTIAL_COPY (299). 对于 EnumProcessModulesE ..
发布时间:2021-11-24 23:29:56 C#

从 WOW64 启动 Shell Links (LNK)

我们的 32 位应用程序通过 ShellExecute 启动 Windows LNK 文件(Shell Links).当它尝试“启动"指向 64 位二进制文​​件的链接(例如“开始"菜单中的“Internet Explorer(64 位)"快捷方式)时,它总是最终启动 32 位二进制文​​件.在内部,ShellExecute 错误地解析链接目标:LNK 中有一个隐藏字段,用于保存 FOLDERID ..
发布时间:2021-09-26 19:04:53 其他开发

为什么 os.path.exists("C:\\windows\\system32\\inetsrv\\metaback") 即使存在也会返回 False ?

我有一个 python 程序,它应该清理一些目录,其中一个是 C:\windows\system32\inetsrv\metaback;但是, os.path.exists() 在该目录上返回 False 即使它存在(并且我有访问它的权限). 有趣的是,工具 windirstat 也完全忽略了它. 谁能想出这可能的原因,以及我可以检查它是否存在的另一种方法?我什至无法在其上运行 os. ..
发布时间:2021-09-25 20:13:25 Python

在 x64 Windows 中,有没有办法运行 Runtime.exec() 进程,避免“注册表重定向"

我们的应用程序在 jvm 32 位中运行,即使在 windows x64 中也是如此.现在,在某些时候,我需要访问一些注册表值,例如 HKEY_LOCAL_MACHINE/SOFTWARE/mycomp. 我通过执行 来做到这一点 cmd/C reg query HKEY_LOCAL_MACHINE\SOFTWARE\mycop 来自 Runtime.exec() 并解析输出.这在 w ..
发布时间:2021-07-07 18:43:05 Java开发

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId 未找到在 64 位 Windows 上运行 32 位应用程序

确实是标题.在 regedit 中查看键值存在,但 Wow6432 键 (HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion) 没有这个键.这意味着 32 位应用程序不能在我的 64 位 Windows 版本上运行……这似乎是错误的,32 位应用程序不应该在没有修改的情况下运行吗?或者这是一种情况,必须对 32 位应用程序进行 ..
发布时间:2021-07-07 18:41:21 其他开发