gpt4 book ai didi

winapi - 能否检测到 .exe 是如何启动的?

转载 作者:行者123 更新时间:2023-12-02 08:14:11 25 4
gpt4 key购买 nike

我希望能够检测给定的 exe 是否以编程方式被 shellex 处理,或者是否在 CMD.EXE 中以交互方式输入和执行。

关于 exe 的启动方式是否有任何信息表明用于启动它的机制?

上下文:Windows XP、Visual Studio 6 语言。

最佳答案

可能有更简单的方法,但我能想到的唯一方法是检查父进程名称,这涉及几个步骤:

  1. Get the ID of the parent process .
  2. Get the handle of the process ,使用 ID。
  3. 使用GetModuleFileNameEx使用找到的句柄(NULL 作为模块)来获取可执行文件的名称。
  4. 检查可执行文件的名称是否为 cmd.exe 或其他名称。

请记住,当您执行此检查时,父进程可能已经消失。

编辑:

如果您的程序是控制台应用程序,您还可以检查它正在运行的控制台。如果它是从 cmd 运行的,它通常会使用相同的控制台。所以,你可以使用GetConsoleTitle例如,看看它是否是“命令提示符”。这可能不适用于本地化或不同版本的 Windows,但如果您的情况有限,这很容易。您还可以使用GetConsoleWindowGetWindowThreadProcessId而不是步骤 1 和 2。

关于winapi - 能否检测到 .exe 是如何启动的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252977/

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