1

Windows PC 用の WebEx や Team Viewer などの画面共有を行うコードを記述する必要があります。要件は、管理者アクセス権がなく、このためのアプリケーションまたはソフトウェアをインストールできないことです。私は以下のテクノロジーを知っていますが、どれも私のために働いていません。このコード プロジェクト URL http://www.codeproject.com/Articles/5051/Various-methods-for-capturing-the-screenのすべてのサンプルを試しました 。

(1) SRCCOPY <= での GetDC(NULL) および BitBlt これにより、透明なウィンドウがキャプチャされず、 GDI がハングします (ペイントで描画してみてください.. BitBlt 操作が実行されると、鉛筆がしばらく動かなくなります)

(2) SRCCOPY および CAPTUREBLT オプションを指定した GetDC(NULL) および BitBlt <= これにより、BitBlt 操作を呼び出すとカーソルが非表示になり、BitBlt 操作が実行されるとGDI がハングします。

(3) GetFrontBufferData を使用してDirectXでも試しました。これにより、透明なウィンドウのちらつきが発生します。

(4) Windows Media APIを試してみましたが、これにはWindows Media Encoderがインストールされている必要があります。

(5) Mirror Driverも試してみましたが、管理者権限で Driver をインストールする必要があります。

インストールなしで画面全体をキャプチャでき、ちらつきやGDIハングの問題がないAPIを提案してください。

前もって感謝します.....

4

1 に答える 1

1

問題は、使用する方法が何であれ、システムにフックして (OS からドライバーへの呼び出しをインターセプトして)、システムが操作を安全に行うための時間を与える必要があることです。管理モードで実行するソフトウェアが必要です。

上記のメソッドはすべて、十分な権限がないために内部呼び出しが失敗するために失敗します。

少し考えてみると、ユーザー レベルで exe を実行すると、システム レベル以外のユーザーからでもシステム コールを共有できる場合、システムに重大なセキュリティ違反が発生している可能性があります。 .

したがって、会社のセキュリティ ポリシーをごまかすのではなく、管理者に尋ねてください。ビジネス目的でこれらのソフトウェアが必要な場合は、管理者が必要なことを行ってくれます。

于 2013-10-02T10:21:00.857 に答える