デフォルトでは、Windows Vista/7/8 の UAC プロンプトはセキュリティで保護されたデスクトップ上に表示されます。残念ながら、セキュリティでPrint Screen保護されたデスクトップを表示する場合、キーは効果がないようです。その理由はわかります。つまり、ユーザー モード アプリケーションはセキュリティで保護されたデスクトップのコンテンツをキャプチャできないはずです。
しかし、疑問が残ります。このデスクトップのスクリーンショットを取得する方法はあるのでしょうか?
編集:おそらく、問題を説明すると役立つでしょう。
現在、Windows 8 を実行しており、使用したい小型の DisplayLink ベースのモニターがあります。このドライバーリリースされたばかりで、問題なく動作します。ただし、セキュア デスクトップでは動作しません。フォーラムにバグ レポートを投稿したいのですが、そのためにはスクリーンショットが必要です。明らかに、この問題は標準デスクトップでは発生しません。また、Windows 8 ではハードウェア仮想化 (私は持っていません) が必要なため、VM で Windows を実行することは不可能であり、USB モニターを VM で動作させるのはとにかく難しいです。
答え1
私はむしろ「ブラックハット」なやり方を見つけました...
安全なデスクトップでは、アクセシビリティツールは問題なく動作します。そこで、FastStone キャプチャー ポータブル、 Faststone ディレクトリに移動してc:\windows\system32
名前を変更し、そこからsystem32 ディレクトリ内にコピー/名前変更しました。osk.exe
osk.exe.old
fscapture.exe
osk.exe
次に、UAC プロンプトに移動してWin Key+を押しU、「オンスクリーン キーボード」オプションをクリックしました。
そして... FastStone Capture が起動しましたが、試用版にすぎませんでした... このモードで使用するとライセンスの詳細にアクセスできません... 問題なく写真を撮って保存できました... ただし、デスクトップに保存していると思ったら、実際にはc:\windows\syswow64\config\systemprofile\desktop
... 毎日何か新しいことを学べます!
上記に基づいて、私は常に UAC セキュア デスクトップは自分の資格情報を使用する昇格された環境であると考えていましたが、実際にはユーザーの下で起動されていると思います。System
つまり、Print Screen実際には機能する可能性がありますが、ユーザーのコンテキスト下ではないだけです。これを念頭に置いて、Fast Stone Capture の代わりにペイントのコピーを使用し、スクリーンショットを撮ってから、オンスクリーン キーボード ハックからペイントを起動すると、同じように機能する可能性があります。
編集 --- 更新 ---
ペイントは窓の外です! 私の理論をテストしたところ、うまくいきませんでした。正確な理由はわかりませんが、ほぼすべてのスクリーン キャプチャ ツールと上記の方法を使用すれば、うまくいくはずです。
答え2
デジタルカメラを用意して画面の写真を撮ります。
答え3
しかし、疑問が残ります。このデスクトップのスクリーンショットを取得する方法はあるのでしょうか?
として実行され、適切な場所にインストールされているプロセスは、SYSTEM
UIPI をバイパスしてセキュア デスクトップにアクセスできます。
これを実行する既存のプログラム (たとえば、RealVNC (残念ながら無料版ではありません) や UltraVNC) を活用します。
PC 上でサーバーを実行し、別のコンピューターからクライアントを接続します。クライアント ウィンドウのスクリーンショットを撮ります。
ただし、画面の写真を撮るのも同じくらい簡単でしょう。
答え4
場合によっては厄介であったり不可能であったりする可能性のある、仮想マシン、VNC、レジストリまたはシステム ファイルの変更以外のオプションを紹介します。
まずスクリーンショットソフトウェアが必要です。この回答では7キャプチャこれは無料ですが、他のソフトウェアでも実行できると思います。
次にPsExecが必要ですPsTools スイートこのツールを使用すると、システム ファイルを変更せずに、PsExec によって自動的に実行されるサービスの作成と削除のみで、7capture を Windows Secure Desktop 内に配置できます。
次に、7capture をインストールし、PsTools を任意のフォルダーに抽出して、次の操作を実行します。
1) 管理者として CMD を開きます。
2) 現在のフォルダーを PSTools が抽出されたフォルダーに設定します。
cd path_to\PSTools
3) 次のコマンドを使用して、Windows Secure Desktop 内で 7capture を起動します。
PsExec /h /x /d /s "path_to\7capture.exe"
どこ:
-h: ターゲット システムが Vista 以降の場合、アカウントの昇格されたトークン (使用可能な場合) を使用してプロセスを実行します。
-x: Winlogon セキュア デスクトップに UI を表示します (ローカル システムのみ)。
-d: プロセスが終了するのを待たない (非対話型)。
-s: システム アカウントでリモート プロセスを実行します。
4) 撮影したい Windows Secure Desktop を開きます。(UAC プロンプト、Ctrl+Alt+Del 画面など)
5) Ctrl + PrintScreen を使用して 1 つのウィンドウのみを撮影するか、PrintScreen を使用して画面全体のショットを撮影します。
6) Alt+Tab キーを押して 7capture に切り替えます。
7) ファイルを任意の場所に保存します。(フルスクリーン画像に問題がある場合は、BMP として保存してください)
ここでは、私の Windows 7 (ブラジルポルトガル語) での結果を見ることができます。