1

(C#、.net Framework 2.0 が望ましい)

こんにちは。

これは実用的かつ技術的な質問です...警告されています。:)

各ユーザーがオンライン サービスにログインする必要がある Windows サービスがあります。2 人のユーザー a と b がいるとします。

a はインストール プロセスを実行し、最後にオンライン サービスのログイン資格情報を要求します。それをローカルに保存して、サービスの開始時にユーザーを認識します。

b がやって来て、ログオフし、a がログオンします。このサービスは、新しいユーザーに気づき、ログインの詳細があるかどうかを確認し、ないことを確認します。

Process.Start を使用して Windows アプリを起動できると思いました。いいえ。だから私はググって、たくさんのコード(ここでは CreateProcessAsUser として示されている)を書くとそれは可能ですが、これを行うことはお勧めしません。

それで...どうすればいいですか?技術的または実用的なソリューションに満足しています。

4

1 に答える 1

1

サービス内からあらゆる種類のユーザー インターフェイスを表示することは推奨されないだけでなく、一部の Windows プラットフォームでは明示的に禁止されています (Windows Server 2008 が思い浮かびます)。
このタスクの一般的なアプローチは、2 つの独立したモジュール (Windows サービスと、転送するデータの複雑さに応じて利用可能な多くの IPC スキームの 1 つを使用してサービスと通信する GUI アプリケーション) を開発することです。たとえば、ループバック WCF (Web サービス) は適切なアプローチです。
適切に実装されていれば、このソリューションは、複数のターミナル サービス セッションなどの複雑なシナリオでも機能します。

于 2011-08-08T20:44:10.013 に答える