如何在C#内部检测应用程序是在控制台还是Windows模式

Arl*_*ler 3 c# .net-4.0

有没有办法从应用程序本身检查程序是处于控制台还是Windows模式?我知道Read和ReadLine可以以某种方式检测到这一点,但是如何?

Ree*_*sey 7

你应该能够检查是否 Console.In == StreamReader.Null;

如果是这样,则没有连接控制台.例如,以下适用于此:

public static bool IsConsoleApplication
{
    get { return Console.In != StreamReader.Null; }
}
Run Code Online (Sandbox Code Playgroud)