我正在尝试构建一个可以在64位窗口上正确运行的32位程序;也就是说,如果它需要为用户打开文本文件,则文件需要 不是 重定向 C:\Program FilesC:\Program Files (x86). 。但是,如果我只是打电话 Wow64DisableWow64FsRedirection, ,然后我的程序根本无法加载,因为某些系统库致电 LoadLibrary 当GUI的部分加载时,它试图将系统DLL的64位版本加载到我的程序中。

如何解决这个问题?


编辑:

在下面的屏幕截图中查看问题:


编辑2:

这是解决问题的另一个问题:是否有任何方法可以禁用WOW64为您的过程中的任意线程或整个过程中的任意线程重定向?

有帮助吗?

解决方案

简单,打电话 Wow64DisableWow64FsRedirection 在您打电话之前 CreateFile, ,然后致电 Wow64RevertWow64FsRedirection 就在完成后立即。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top