0

Windows XP、7 32 ビット システムのサービスとして実行するネットワーク ベースの C++ アプリケーションを開発しました。

  • アプリケーションはコンソール ベースです。
  • アプリが起動して実行されると、ユーザーはコンソールでログを確認できるはずです。

アプリケーションをサービスとして実行するには、XYNTServiceを使用しました

アプリケーションはサービスとして動作しており、XP で正常に動作します。

しかし、Windows 7 ではコンソールを表示できません。サービスはローカルの SERVICE アカウントで実行されているため、別の winlogon セッションで実行されているため、おそらく GUI を表示したりアクセスしたりすることはできません。

アプリがサービスとして実行されている間にユーザーがコンソールでログを表示できるように、サービスをインタラクティブにする方法を提案してください。

そうでなければ、トレイベースのアプリケーションにした場合、ログをウィンドウにリダイレクトする方法はありますか?

4

1 に答える 1

0

実際には、ログオン/ログオフ イベントをサブスクライブし、WTSEnumerateSessionsCreateProcessAsUserと共に使用して、ユーザーがシステムにログインするたびに GUI を作成できますが、これは適切な選択ではありません。

ユーザーがシステムにログインしたときに自動的に実行されるトレイ アプリを作成することをお勧めします。任意の IPC メカニズム (名前付きパイプ、共有メモリ、ソケット) を使用して、サービスからトレイ アプリにログを送信できます。

于 2013-08-14T08:08:45.470 に答える