2010-12-01 6 views

ответ

8

Использование Environment.UserInteractive. Если true вы находитесь в консоли. Если false вы можете быть в службе.

+0

`UserInteractive` является` истинным` для оконного приложения, а не только для консольного приложения. – Qwertie 2012-03-08 00:59:00

+0

На консоли нет интерфейса. – 2013-03-21 14:57:02

0

Отражение является одним из первых мест, я хотел бы посмотреть -

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

Q: Как «уверен, что» вы должны быть?

+0

-1, Как это могло бы быть возможно сообщить вам, был ли ваш код запущен в консольном приложении? – Gabe 2010-12-01 16:39:31

1

Информация, которая вам нужна, является собственностью вашей сборки exe. Если вы используете инструмент ildasm.exe для просмотра манифеста сборки, вы можете увидеть свойство .subsystem, которое указывает тип среды выполнения, запускающий ваш метод Main.

Однако, похоже, что Reflection не раскрывает эту информацию напрямую.

код в следующей ссылке содержит пример того, как прочитать файл с расширением .exe себя и обнаружить этот инфокоммуникационных:

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

Я надеюсь, что это помогло.

Смежные вопросы