我可以让Windows C#控制台应用程序使用不同的终端,如PowerShell或MSYS吗?

ecr0jaav  于 2023-06-07  发布在  Windows
关注(0)|答案(2)|浏览(145)

我在Windows 7上有一个C# .NET Framework控制台应用程序。默认情况下,它打开Windows命令提示符**,看起来与CMD使用作为其控制台窗口的命令行界面相同。我想更改它,以便它打开并输出到其他终端CLI**。这能做到吗?
编辑:有人指出它实际上没有使用cmd.exe,所以我想我正在寻找如何更改它使用的CLI。

vhipe2zx

vhipe2zx1#

“* 默认情况下,它会打开Windows命令提示符 ”-不,它不会。
控制台可执行文件在基于文本的窗口中运行; CMD在基于文本的窗口中运行; PowerShell在基于文本的窗口中运行。
任何此类应用程序都不依赖于(或运行于)任何其他此类应用程序类型,除非您使用cmd /c program.exe启动程序(然后会发生
*,因为**您正在指示cmd这样做),甚至使用cmd /k program.exe(相同,但现在告诉cmd继续运行并在program.exe完成后接受命令)。

rqqzpn5f

rqqzpn5f2#

您可以配置您的csproj,以便在执行“Start Debugging”命令时启动任何您喜欢的程序。我能够使用conshost.exe调试我的控制台应用程序,方法是打开项目属性,选择Debug选项卡,在“Start action”下选择“Start external program”,然后输入“C:\Windows\System32\Conhost.exe”。对于命令行参数,我输入输出可执行文件的名称。现在F5将使用Conhost.exe启动我的控制台应用程序。* 调试器启动后,您必须将其附加到进程 *,因为调试器将仅附加到Conhost.exe进程启动。

相关问题