自分のマシンに接続されているすべてのユーザー画面をキャプチャします。だから私はどうすればいいのですか?C#を使用してユーザーのセッションスクリーンショットを取る方法
ユーザーの画面をキャプチャするWindowsサービスを作成したいと思います。
おかげ Laxmilal
自分のマシンに接続されているすべてのユーザー画面をキャプチャします。だから私はどうすればいいのですか?C#を使用してユーザーのセッションスクリーンショットを取る方法
ユーザーの画面をキャプチャするWindowsサービスを作成したいと思います。
おかげ Laxmilal
あなたは、Windowsターミナルサービス(WTS)APIを使用していることを行うことができます。これはあなたがする必要があります:
1.システムサービスアカウントとしてローカルシステムを使用します。他のアカウントは機能しません。
2. WTSOpenServerを呼び出し、WTSEnumerateSessionsを使用してセッションのリストを取得します。
3. WTS_SESSION_INFO構造体のリストを取得します。各項目はセッションを表します。州がWTSActiveであるセッションにのみ関心があります。
4.ループでは、前の手順で識別した各セッションのCreateProcessAsUserを呼び出します。セッションのWTS_SESSION_INFO構造体からsessionIdを指定します。実行するプロセスの名前は、あなたのお気に入りのスクリーンキャプチャユーティリティになります。私はそれらのどれも使用しませんでしたが、インターネット上ですばやく検索すると、いくつかのオプションが表示されます。
これらのユーザーの画面は、どのくらい正確にあなたのマシンに接続されていますか?リモートデスクトップ? VNC?または、1台のコンピュータに複数の物理的なモニタが接続されていることを意味しますか?あなたはこのサービスをどの言語で書いていますか? –
これらのユーザーは、リモートデスクトップを使用して接続します。私はC#を使用しています。 – LLM