我在控制台应用程序?

时间:2010-12-01 16:32:31

标签: c# .net console

如果使用此组件的应用程序在控制台应用程序或其他应用程序中运行,有没有办法在C#中检测组件内部?

4 个答案:

答案 0 :(得分:8)

使用Environment.UserInteractive。如果true您在控制台中。如果false您可以参加某项服务。

答案 1 :(得分:1)

请参阅此示例了解您的解决方案: http://weblogs.asp.net/whaggard/archive/2004/08/30/223020.aspx

答案 2 :(得分:1)

您需要的信息是您的exe程序集的属性。 如果使用ildasm.exe等工具查看程序集的清单,则可以看到.subsystem属性,该属性指示启动Main方法的执行环境的类型。

但是,似乎Reflection不直接公开这些信息。

以下链接中的代码包含有关如何读取.exe文件本身并检测此信息的示例:

http://blogs.msdn.com/b/kstanton/archive/2004/03/31/105060.aspx

我希望这会有所帮助。

答案 3 :(得分:0)

反思是我看的第一个地方 -

http://msdn.microsoft.com/en-us/library/system.reflection.assembly.getexecutingassembly.aspx

问:你需要“确定”吗?