ソケット接続などを制御するWindowsサービスとして実行されるac#アプリケーションがあります。また、このサービスを制御および構成するための別のWindowsフォームアプリケーションがあります(開始、停止、構成パラメーターを使用したフォームの表示)。
.netリモーティングを使用してIPCを実行していますが、それは問題ありませんでしたが、実際のトラフィックやその他のレポートを表示したいのですが、リモーティングはパフォーマンス要件を満たしていません。したがって、両方のアプリケーションを1つにまとめたいと思います。
ここに問題があります:
Windowsサービスからフォームを開始したとき、何も起こりませんでした。グーグルで検索すると、サービスを右クリックし、[ログオン]に移動して、[サービスにデスクトップとの対話を許可する]オプションをオンにする必要があることがわかりました。ユーザーにそうするように依頼したくないので、インストール時にユーザーのregeditでこのオプションを設定するために、コードを再度グーグルで検索しました。問題は、このオプションを設定しても機能しないことです。サービスのログオンオプションを開き(チェックされています)、チェックを外してもう一度チェックする必要があります。
それで、それをどのように解決するのですか?同じプロセスでsystrayコントロールを備えたWindowsサービスを使用して、ログインしているすべてのユーザーが利用できるようにするための最良の方法はどのようになっていますか?
更新:これまでのコメントに感謝します、みんな。私はIPCを使用する方が良いことに同意し、Windowsサービスとユーザーインターフェイスを混在させるのは悪いことだと知っています。とはいえ、その方法を知りたいです。