方法はWindowsのサービスです。純管理コード
質問
たいのですが教えてくれる方法を皆様にお伝えしたくて書き込みによって管理されたコードは電話から対話型アプリのvsをwindowsのサービス?
解決 2
私は( - あなたの走行距離は、あなたがやろうとしているかによって異なる場合があり、少なくともこれは私のニーズに合わせて動作します)これを考え出したかもしれないと思います。 「UserInteractive」と呼ばれる環境オブジェクトのオフにぶら下がっプロパティがあります。それはあなたがデスクトップへのアクセス権を持つコンテキストで実行されているかどうかが示されます。
他のヒント
のどの部分をWindowsのサービスで知りたいですか?やのどの部分が対話型アプリませんか知りたいですか?い事項ですか?
随時承って依頼このようなことはほとんど常に間違っています。を提供している複数回答:
- う、呼び出し側に適しているかを提示させていただフォーマッタが使
- 場所の名前をフォーマッタクラスへの設定ファイルを指定します。すべてのformatterを実装インタフェース。ランタイム時において、最初に必要なフォーマッタのインスタンスを生成し指定されたコンフィグファイルでの共通インタフェース。
- な管理ソリューションを提供いただけます。クラスを使用し、システム。診断は、実際の設定をどのような私の#2.
ではほとんどのミスコードに敏感であることをコンテキストで呼ばれます。
少なくとも2つの方法このためには:
- "システム。反射を生み出します。ます。GetCallingAssembly().FullName"までの名前を返し組み立てるを呼び出すコードです。
- "環境です。StackTrace"はフルスタックトレースのための人を呼び出すコードです。必ずお呼び出し側のメソッド名の文字列になります。
あなたは二つの異なるロガーを定義することができます。そして、クライアントは、彼が設定ファイルを使用して使用したいロガーを選択しましょう。クライアントが間違ったロガーを選択するか、設定するために忘れてしまった場合にも、デフォルトのロガーを持つことができます。 私は設定できるように、ロギングとフォーマットのメッセージのような機能を持っている良いアイデアであるべきだと思います。
組み込み可能性がある場合は知っているが、System.Diagnostics.Process
クラスを見てはいけません。それは、とりわけ、GetService()
方法を持っている、多分それはあなたを助けるでしょう。それが失敗した場合、有益な情報が含まれていてもよいStartInfo
メンバーがあります。
、あなたは現在のプロセスの親プロセスを得ることができます。それは、アカウントの下で実行されている場合は、のNT AUTHORITY \ SYSTEMののそれの名前は、のSERVICE.EXE のある、現在のプロセスは、(おそらく)サービスです。