gpt4 book ai didi

x86 - WoW64 进程可以创建/fork/etc 纯 x64 进程吗?

转载 作者:行者123 更新时间:2023-12-04 06:51:36 27 4
gpt4 key购买 nike

我希望从 x86 进程/exe 调用 x64 exe,例如:

  • 打开 x86 cmd : %windir%\SysWoW64\cmd.exe
  • 启动记事本:notepad.exe <- 它将是 x86 记事本(根据任务管理器 = *)

  • 是否可以从 x86 cmd 执行 x64 记事本?

    我的问题是我正在执行的进程必须作为 x64 运行,我不希望它作为 x86 (WoW) 运行,因为它的行为不同......这是它的编程方式,我无法更改它:-(
    我的exe是x86 ...

    为了简化我的问题:
    WoW 进程可以创建/fork/etc 纯 x64 进程吗?

    非常感谢

    YB

    最佳答案

    是的,它可以。在启动记事本之前,您需要关闭 WOW64 重定向才能启动正确的可执行文件。

    编辑:现在您已经澄清它实际上不是记事本,而是您自己的 64 位可执行文件,此代码应将其作为真正的 64 位进程启动:

    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    bool_t bResult = FALSE;

    ZeroMemory(&pi, sizeof(pi));
    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(STARTUPINFO);
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_SHOW;

    bResult = CreateProcess(NULL, "foo.exe", NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);

    if (bResult)
    {
    WaitForSingleObject(pi.hThread, INFINITE);

    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    }

    关于x86 - WoW64 进程可以创建/fork/etc 纯 x64 进程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3038363/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com