检测应用程序是在新控制台还是现有控制台中启动的
本文关键字:控制台 启动 检测 应用程序 | 更新日期: 2023-09-27 18:26:18
如何检测我的控制台应用程序是从另一个控制台启动的,还是在启动时打开了一个新控制台?
例如,如果我希望控制台有一些自定义颜色,如果它在启动时打开了一个新的控制台窗口,或者如果从另一个控制台启动,则保持一切原样。(很像PowerShell.exe)
只要在一个新窗口(快捷方式、应用程序)中启动应用程序,就可以在命令行上将特定参数传递给可执行文件,以指示环境应该是彩色的。
例如,myapp.exe -RunInNewConsole
另一个选项是通过使用AttachConsole方法来确定您是否已经在控制台中运行:
[DllImport("kernel32.dll")]
static extern bool AttachConsole(int dwProcessId);
private static bool IsRunningInConsole()
{
return AttachConsole(-1);
}