如何从外部进程获取 ConEmu shell 类型?

如何从外部进程获取 ConEmu shell 类型?

我正在使用 GuiMacro 向 ConEmu 发送命令。命令取决于 shell 类型 (cmd/PowerShell/Bash)。

在 ConEmu 之外运行的进程如何读取指定 ConEmu 选项卡的 shell 类型(例如通过访问其环境变量)?

其中GuiMacro GetInfo root返回进程名称,但由于它返回根进程的信息,如果我启动 cmd 选项卡,然后运行 ​​PowerShell,我仍然会得到 cmd.exe 作为进程名称,而我希望得到 powershell.exe。

答案1

您应该根据自己的情况自行编写代码。例如,您可以遍历进程树并找到您期望的第一个 shell,但要记住该“shell”可能是非交互式的,并且很可能您还需要分析该 shell 进程的命令行。

答案和检查逻辑可能很大程度上取决于您的使用情况。ConEmu 无法检测所有可能性,这就是为什么它仅简化了对根进程的访问。

相关内容