诱使 32 位应用程序在 64 位系统上运行?

Jos*_*osh 4 windows

我们有一个遗留的 Windows 应用程序,用于检查它是在 32 位还是 64 位系统中运行。显然没有 64 位版本可用,但我们现在面临的情况是我们必须在 64 位 Windows 7 工作站上运行它。如果没有为此目的启动 32 位 VM,是否有人有任何可能解决此问题的建议?

Zuu*_*uul 7

我使用的方法是使用 32 位 DLL 的标头标记所需的应用程序,因此每次执行它时,应用程序都会看到 32 位模式 DLL 并将它们加载到其内存空间中:

  1. 下载适用于 Windows 7 和 .NET Framework 4Microsoft Windows SDK

  2. 安装它;

  3. 获取CorFlags.exe从 SDK 程序文件目录的 Bin 文件夹中命名的 Microsoft CorFlags 实用程序;

  4. 使用以下方法标记您的应用程序以使用 32Bit dll:

    CorFlags /32BIT+ yourapplication.exe
    
    Run Code Online (Sandbox Code Playgroud)

下次执行应用程序时,Windows 将看到新标头并将其作为 32 位应用程序执行。您的应用程序将使用 Windows 提供的 32 位 DLL。