2

C# で Windows サービスを開発しています。私の要件の 1 つは、ユーザー入力を取得することです。いくつかのオプションを提示し、ユーザーに 1 つを選択させることです。ユーザーの選択に基づいて、サービスは関連付けられた操作を実行する必要があります。C# を使用して、Windows サービスでユーザー入力を取得することは可能ですか?

4

6 に答える 6

3

いいえ、Windows サービスはそのように設計されていません。デスクトップまたは Web アプリケーションを使用する必要があります。サービスを使用する正当な理由がある場合は、アプリケーションを作成して、入力をサービスに送信または伝達する必要があります。

于 2012-12-04T11:47:12.423 に答える
2

データベースのオプションを管理する別のアプリケーションを作成します。ユーザーは、サービスが接続するこのデータベースを更新できます。これらの値に応じて、サービスはそれに応じて動作する必要があります。

于 2012-12-04T11:49:06.753 に答える
1

ServiceBrokerを使用して、ユーザー入力メッセージをキューに入れ、その結果をUserIdまたは一意のユーザーキーに対して別のキューにダンプできます。

于 2012-12-04T11:49:42.257 に答える
1

他の人が言ったように、これは不可能です。名前が示すように、Windows サービスはサービスです。Windows サービスにデータを送信する場合は、(別のアプリケーションから) ServiceController クラスを使用するか、WCF を使用して特に冒険したい場合に送信できます。

なぜこれをサービスとして開発しているのですか?

于 2012-12-04T11:56:22.243 に答える
1

いいえ、できません。別の Windows アプリ (winforms や WPF など) を作成し、サービスと通信してユーザー入力を送信する必要があります。WCF経由で通信できます。

于 2012-12-04T11:48:30.863 に答える
0

はい、Windows サービスからマウスとキーボードからの入力を取得することは可能です。これは、Windows サービスと直接やり取りできるという意味ではありません。サービス コードは、最後のキーボード入力とマウスの位置、およびその他のイベントを読み取ることができます。たとえば、サービスはCursor.Positionプロパティを使用して現在のマウス位置を読み取ることができます。

于 2016-12-27T10:32:34.383 に答える