Windowsサービスアプリケーションからプロセスを開始することは不可能です(または、独立したプロセスで実行されているWindowsサービスのために非常に困難です)。ただし、WPFアプリケーション内のメソッドからWindowsサービスを実行することは可能ですか?もしそうなら、私はC#でそれをどうしますか?WPFアプリケーションメソッドからWindowsサービスアプリケーションを実行する方法
答えて
まず、いくつかの背景:
A Windowsサービス(WS)ユーザーインターフェースなしで実行するバックグラウンド・プロセスである(とあなたいたずらWSを無視して、サービスが刻まデスクトップと対話することを可能にする)と、実行することができますユーザーがログインする前に実行されます。このため、WSはというコンテキストで実行される可能性があります。LOCALSYSTEM; ネットワークサービス、または他のサービスの間でサービス専用の明示的なユーザーアカウントでもあります。起動時およびユーザがログインする前にWindowsで起動するサービスは、自動起動サービスと呼ばれます。 遅れたオートスタートとして知られているbeastieさえあります。
ただし、WPFアプリケーション内のメソッドからWindowsサービスを実行できますか?
「実行」とは、以前に展開したWSを起動して「はい」をトリガーする方法を意味します。
以下の例を考えて、SomeMethodInMyWpfApp()
というメソッドがあなたのWPFアプリケーションのどこかに存在すると想像してください。次に、このメソッドを呼び出すだけで、"MissPiggyService"というWSのサービスコントローラーへの参照が取得されます。参照を取得したら、サービスの状態を問い合わせることができます。それは実行されていますか?それは開始の過程にありますか?両方の質問に対する回答が「いいえ」の場合、サービス開始要求が発行されます。すでに開始しているサービスを開始するようSCに伝えるのは一般的ではないので、これを行います。 による場合
void SomeMethodInMyWpfApp()
{
ServiceController sc = new ServiceController("MissPiggyService");
if (sc.Status != ServiceControllerStatus.Running &&
sc.Status != ServiceControllerStatus.StartPending)
{
sc.Start();
}
}
しかし、「しかし、WPFアプリケーションの内部メソッドからWindowsサービスを実行することが可能です?」作成できます。 WPFアプリケーション内で外部WSの機能を複製して実行します。
WSは通常のプロセスではありません。 1つのプロセスを別のプロセスに埋め込むことはできません(少なくとも私はできないと思いますが、ここではAppDomainsについては言及していません)。さらに重要なことに、WSはWindows Service Controllerに応答できる必要がありますあなたのWSに開始、停止、および一時停止を要求します。通常のプロセスが実装していないもの。
- 1. Windowsサービスアプリケーションのデバッグ方法
- 2. Windowsサービスアプリケーションが適切な方法です
- 3. Windowsサービスアプリケーションをインストールせずに実行する
- 4. VS2010でWebサービスアプリケーションを実行する
- 5. モノを使用して.NET WindowsサービスアプリケーションをLinuxに移行する方法は?
- 6. Windowsサービスアプリケーションapp.config
- 7. Windowsサービスアプリケーションでシステムを起動するときにコードを実行するには?
- 8. プログラムでWindowsサービスアプリケーションで一時停止を作成する方法
- 9. マルチスレッドのWindowsサービスアプリケーションで実行されているスレッドの数を取得する方法
- 10. SQL操作を実行するビジュアルスタジオのWindowsサービスアプリケーションを作成します。
- 11. wpfオフスクリーンイベントを実行する方法
- 12. コマンドラインからWindowsワークフローを実行する方法
- 13. サーバ上のWindowsタスクスケジューラからC#コンソールアプリケーションを実行する方法
- 14. クライアントのWindowsコンピュータからcqlコマンドを実行する方法は?
- 15. WindowsコマンドプロンプトからExchange powershellコマンドを実行する方法?
- 16. WindowsからLinuxシェルでpingを実行する方法
- 17. Windows用Git 1.6.xをUSBメモリスティックから実行する方法
- 18. は、UNIXスクリプトからWindowsバットファイルを実行する方法
- 19. WindowsからUNIXシェルスクリプトを実行する方法
- 20. WindowsコマンドラインからMaximaを実行する方法
- 21. Windowsでpygraphvizからneatoを実行する方法
- 22. WindowsのgithubからJavaプログラムを実行する方法は?
- 23. ローカルIIS7サーバー上でWCF RESTサービスアプリケーションを実行する(デバッグする)方法
- 24. タイマー付きWindowsサービスアプリケーション
- 25. コーディングによるWindowsサービスアプリケーションの終了方法
- 26. WindowsでSidekiqを実行する方法
- 27. 外部コンソールアプリケーションからSharePoint 2010サービスアプリケーションにアクセスする方法は?
- 28. WindowsサーバーAからPowerShellコマンドを実行してWindowsサーバー上で実行する方法B
- 29. WCFサービスアプリケーションを構成する方法は?
- 30. ローカルHTMLファイルからWCFサービスアプリケーションを呼び出す方法は?
ありがとう!それは私が探していたものでした! – Nico
@Nicoあなたは大歓迎です! :) – MickyD