2010-12-20 4 views
0

自分のマシンに接続されているすべてのユーザー画面をキャプチャします。だから私はどうすればいいのですか?C#を使用してユーザーのセッションスクリーンショットを取る方法

ユーザーの画面をキャプチャするWindowsサービスを作成したいと思います。

おかげ Laxmilal

+0

これらのユーザーの画面は、どのくらい正確にあなたのマシンに接続されていますか?リモートデスクトップ? VNC?または、1台のコンピュータに複数の物理的なモニタが接続されていることを意味しますか?あなたはこのサービスをどの言語で書いていますか? –

+0

これらのユーザーは、リモートデスクトップを使用して接続します。私はC#を使用しています。 – LLM

答えて

0

あなたは、Windowsターミナルサービス(WTS)APIを使用していることを行うことができます。これはあなたがする必要があります:
1.システムサービスアカウントとしてローカルシステムを使用します。他のアカウントは機能しません。
2. WTSOpenServerを呼び出し、WTSEnumerateSessionsを使用してセッションのリストを取得します。
3. WTS_SESSION_INFO構造体のリストを取得します。各項目はセッションを表します。州がWTSActiveであるセッションにのみ関心があります。
4.ループでは、前の手順で識別した各セッションのCreateProcessAsUserを呼び出します。セッションのWTS_SESSION_INFO構造体からsessionIdを指定します。実行するプロセスの名前は、あなたのお気に入りのスクリーンキャプチャユーティリティになります。私はそれらのどれも使用しませんでしたが、インターネット上ですばやく検索すると、いくつかのオプションが表示されます。

関連する問題