我在Windows 7上有一个C# .NET Framework控制台应用程序。默认情况下,它打开Windows命令提示符**,看起来与CMD使用作为其控制台窗口的命令行界面相同。我想更改它,以便它打开并输出到其他终端CLI**。这能做到吗?编辑:有人指出它实际上没有使用cmd.exe,所以我想我正在寻找如何更改它使用的CLI。
vhipe2zx1#
“* 默认情况下,它会打开Windows命令提示符 ”-不,它不会。控制台可执行文件在基于文本的窗口中运行; CMD在基于文本的窗口中运行; PowerShell在基于文本的窗口中运行。任何此类应用程序都不依赖于(或运行于)任何其他此类应用程序类型,除非您使用cmd /c program.exe启动程序(然后会发生*,因为**您正在指示cmd这样做),甚至使用cmd /k program.exe(相同,但现在告诉cmd继续运行并在program.exe完成后接受命令)。
cmd /c program.exe
cmd /k program.exe
cmd
program.exe
rqqzpn5f2#
您可以配置您的csproj,以便在执行“Start Debugging”命令时启动任何您喜欢的程序。我能够使用conshost.exe调试我的控制台应用程序,方法是打开项目属性,选择Debug选项卡,在“Start action”下选择“Start external program”,然后输入“C:\Windows\System32\Conhost.exe”。对于命令行参数,我输入输出可执行文件的名称。现在F5将使用Conhost.exe启动我的控制台应用程序。* 调试器启动后,您必须将其附加到进程 *,因为调试器将仅附加到Conhost.exe进程启动。
2条答案
按热度按时间vhipe2zx1#
“* 默认情况下,它会打开Windows命令提示符 ”-不,它不会。
控制台可执行文件在基于文本的窗口中运行; CMD在基于文本的窗口中运行; PowerShell在基于文本的窗口中运行。
任何此类应用程序都不依赖于(或运行于)任何其他此类应用程序类型,除非您使用
cmd /c program.exe
启动程序(然后会发生*,因为**您正在指示cmd这样做),甚至使用cmd /k program.exe
(相同,但现在告诉cmd
继续运行并在program.exe
完成后接受命令)。rqqzpn5f2#
您可以配置您的csproj,以便在执行“Start Debugging”命令时启动任何您喜欢的程序。我能够使用conshost.exe调试我的控制台应用程序,方法是打开项目属性,选择Debug选项卡,在“Start action”下选择“Start external program”,然后输入“C:\Windows\System32\Conhost.exe”。对于命令行参数,我输入输出可执行文件的名称。现在F5将使用Conhost.exe启动我的控制台应用程序。* 调试器启动后,您必须将其附加到进程 *,因为调试器将仅附加到Conhost.exe进程启动。