Як зробити знімок екрана захищеного робочого столу Window?


25

За замовчуванням на захищеному робочому столі відображається запит UAC Windows Vista / 7/8. На жаль, Print Screenключ, здається, не впливає під час перегляду захищеного робочого столу. Я бачу міркування цього - жодна програма в режимі користувача не повинна мати змогу захоплювати вміст захищеного робочого столу.

Однак моє питання залишається: чи є спосіб отримати скріншот цього робочого столу?


Редагувати: можливо, це допоможе, якщо я поясню проблему.

На даний момент я працюю під керуванням Windows 8 і у мене є невеликий монітор на основі DisplayLink, який я хотів би використовувати. Цей драйвер щойно вийшов і працює чудово - за винятком того, що він працює на захищеному робочому столі. Я хочу опублікувати повідомлення про помилку на форумах там, і для цього мені знадобиться скріншот. Очевидно, що проблема не проявиться на стандартному робочому столі - і запустити Windows у VM неможливо, тому що для Windows 8 потрібна віртуалізація обладнання (чого у мене немає), а налагодження USB-моніторів для роботи з VM в будь-якому разі складне.


5
Ви можете запустити його у віртуальній машині.
jdigital

1
@ user8368: Це не варіант, оскільки я намагаюся створити скріншот, щоб продемонструвати певну технічну проблему, яка може не відображатися в машині вільного доступу. Це також не є варіантом з точки зору ліцензування. І нарешті, у мене немає апаратної віртуалізації, тому це зробило б дуже важку справу.
Натан Осман

1
Ви можете встановити підказку UAC так, щоб не використовувати захищений робочий стіл за допомогою (Local) групової політики.
billc.cn

1
@ billc.cn: Я знаю, але тоді проблема, яку я намагаюся створити скріншот, не проявиться.
Натан Осман

1
@GeorgeEdison: Ви впевнені? Якщо вимкнути безпечний робочий стіл, підказка UAC все ще буде спрацьовувати. Але оскільки він не знаходиться на захищеному робочому столі, інші програми можуть робити його скріншот.
surfasb

Відповіді:


40

Я знайшов досить "чорну шапку", як це зробити ...

введіть тут опис зображення

Коли в безпечному робочому столі, доступність інструменти все ще працюють нормально ... так, я використовував мій екземпляр FastStone Capture Portable , я пішов c:\windows\system32і перейменований osk.exeв osk.exe.oldі скопіювати / перейменований fscapture.exeз каталогу FastStone в osk.exeвсередині директорії system32.

Потім я перейшов до запиту UAC і натиснув Win Key+ U, і натиснув на опцію "на екранній клавіатурі".

І ... FastStone Capture почався, хоча це був просто пробний ... використання його в цьому режимі не може отримати доступ до моїх даних про ліцензію .... Мені вдалося сфотографувати чудово і зберегти його ... хоча, коли я думав, що я економив на своєму робочому столі, це насправді пішло на c:\windows\syswow64\config\systemprofile\desktop... ви щодня дізнаєтесь щось нове!

Виходячи з вищесказаного, я завжди вважав, що безпечний робочий стіл UAC є підвищеним середовищем, використовуючи власні облікові дані, але, я думаю, він насправді запускається під Systemкористувачем - так, він Print Screenможе справді працювати, це просто не в контексті вашого користувач - маючи це на увазі, якщо ви повинні використовувати копію фарби замість Fast Stone Capture, зробіть знімок екрана, а потім запустіть Paint через екранну клавіатуру на екрані, це може просто працювати так само!

редагувати --- оновити ---

Фарба - у вікно! Я просто перевірив мою теорію, і вона не спрацювала, я не впевнений у точній причині, але, я здогадуюсь, якщо ви користуєтеся майже будь-яким інструментом захоплення екрана та моїм методом вище, він повинен працювати.


3
Це дуже розумне використання інструментів доступності :)
Натан Осман

2
Я підозрюю, що Paint не просить UIAccessдозволу грати з UIPI, тоді як інші програми доступності. Див UIAccess для додатків автоматизації призначеного для користувача інтерфейсу над тут для вимог.
ta.speot.is

@ todda.speot.is Цікаво, і я прочитаю, як мені цікаво, щоб дізнатися, але, я думаю, може бути і більше цього - я не можу уявити, що Faststone Capture реалізує це, мусить бути, що екран друку просто відключений за замовчуванням і більшість утилітів для зйомки екрана просто переосмислюють поведінку за замовчуванням ... (Я знаю, що у MS є технологія відключення бітів - наприклад, корпоративний пакет MS DRM (забудьте справжнє ім'я) вимикає екран друку та багато інших функцій).
Вільям Гілсум,

@WilliamHilsum (з посиланням на ваш попередній коментар): Ви маєте на увазі групову політику ?
bwDraco

Цікаво, чи зробив би той чи інший інструмент?
A Child of God

19

Дістаньте цифровий фотоапарат і сфотографуйте екран.


Це теж прийшло мені в голову. Не такий елегантний, але набагато менше головного болю.
Paperlantern

17

Однак моє питання залишається: чи є спосіб отримати скріншот цього робочого столу?

Процес, запущений як SYSTEMі встановлений у відповідному місці, може обійти UIPI і потрапити на безпечний робочий стіл.

Використовуйте існуючі програми, які роблять це - RealVNC (на жаль, не безкоштовне видання) та UltraVNC, наприклад.

Запустіть сервер на своєму ПК та підключіть до нього клієнта з іншого комп’ютера. Зробіть скріншот вікна клієнта.

Хоча, мабуть, так само просто сфотографувати екран.


1
О, це правильно ... У мене є ще одна машина, на яку я можу VNC і побачити захищений робочий стіл - я зовсім забув про це.
Натан Осман

11

Є ще кращий спосіб. За допомогою двох безкоштовних інструментів з відкритим кодом, Greenshot та Process Hacker , ви зможете створити скріншот захищеного робочого столу з такими перевагами :

  • Не потрібне ніяке зміцнення та не потребує змін у системному файлі чи реєстрі
  • Вам не потрібно нічого вводити в командному рядку (для користувачів миші - це користь)
  • Це легше виконати і, крім першого налаштування, значно менше часу. Давайте розпочнемо!

    1. Завантажте програму Greenshot та налаштуйте параметри, щоб вона автоматично зберігала зображення всього екрана у папці, якщо натискаєте клавішу "Print Screen".

    2. Завантажте Хакер процесів. Якщо ви бачите головне вікно Process Hacker, переконайтесь, що Greenshot закритий, натисніть "Hacker" та "Run as ..."

    3. Виберіть виконуваний файл Greenshot у "Програмі". У розділі "Ім'я користувача" натисніть на список і виберіть "NT AUTHORITY \ SYSTEM". "Тип" має бути "Сервіс", ідентифікатор сесії 1 та на "Робочому столі" виберіть "WinSta0 \ Winlogon". Це важливо!

    4. Тепер вам слід вже зайти, натисніть "ОК", коли Greenshot закінчиться завантаження (має бути коротким), відкрийте вікно UAC та натисніть клавішу друку. Тепер ви повинні побачити зображення захищеного робочого столу у вказаній папці в Greenshot! Якщо вам більше не потрібно створювати скріншоти UAC, просто вбийте процес Greenshot.

Веселіться! Я підтвердив і перевірив це сам після кількох тестів, тому що мені досі не сподобалися рішення тут.


5

Я запропоную інший варіант, ніж використання віртуальної машини, vnc або зміни реєстру або системних файлів, що може бути неприємним або неможливим в деяких випадках.

Спочатку вам знадобиться програмне забезпечення для скріншотів, для цієї відповіді я використовую 7capture, який є безкоштовним, але я вважаю, що це можна зробити з іншими програмними засобами.

По-друге, вам знадобиться PsExec з пакету PsTools , цей інструмент дозволить помістити 7capture всередину Windows Secure Desktop, не змінюючи жодних системних файлів, просто створивши та видаливши сервіс, який автоматично виконується PsExec.

Потім із встановленим 7capture та з вилученою PsTools до якоїсь папки зробіть наступне:

1) Відкрийте CMD як адміністратор.

2) Встановіть поточну папку в папку, з якої було вилучено PSTools: cd path_to\PSTools

3) Запустіть програму 7capture всередині робочого столу Windows Secure із наступною командою: PsExec /h /x /d /s "path_to\7capture.exe"

Де:

-h: Якщо цільова система має Vista чи вище, чи має процес запускатись із підвищеним маркером облікового запису, якщо він доступний.

-x: Відображення інтерфейсу користувача на захищеному робочому столі Winlogon (лише локальна система).

-d: Не чекайте завершення процесу (неінтерактивний).

-s: запустіть віддалений процес у системному обліковому записі.

4) Відкрийте робочий стіл Windows Secure, який ви хочете зробити. (Підказка UAC, Ctrl + Alt + Del екран тощо)

5) Використовуйте Ctrl + PrintScreen, щоб зробити знімок лише одного вікна, або PrintScreen, щоб зробити знімок всього екрана.

6) Використовуйте клавішу Alt + Tab, щоб перейти до 7capture.

7) Просто збережіть файл там, де ви хочете. (Якщо у вас проблеми із повноекранним зображенням, просто збережіть його як BMP)

І тут ви можете побачити результати на моїй Windows 7 (португальська мова в Бразилії):

Вікно підказок UAC Повний екран UAC


Цей метод не працює, якщо жоден користувач не зареєстрований.
and31415,

2

Якщо ви встановите TeamViewer на свій ПК, і ви перезавантажили ПК, тоді команда перегляду зможе отримати доступ до запиту UAC. З іншого ПК, який використовує teamviewer, ви можете зробити скріншот цілого робочого столу, поки teamviewer видно, але не має фокусу, і у вас буде скріншот підказки UAC.


2

Інший варіант - використовувати autoitscript (з autoitscript.com)

Це безкоштовна BASIC-схожа мова скриптів, призначена для автоматизації графічного інтерфейсу Windows та загального сценарію. Він використовує комбінацію імітованих натискань клавіш, руху миші та маніпулювання вікном / керуванням.

За допомогою функції send () ви можете імітувати натискання клавіші друку на екрані. Взяте із прикладів веб- сайту https://www.autoitscript.com/autoit3/docs/functions/Send.htm :

Example()

     Func Example()
          Send("{PRINTSCREEN}")
     EndFunc

Перейдіть сюди http://www.autoitscript.com/site/autoit/downloads/, щоб завантажити його.

Я сам не пробував це рішення, але здається досить пристойним, враховуючи, що вам потрібно зламатись, щоб вирішити свою проблему.

Спробувати. Сподіваюся, я допоміг.


2

Знімайте скріншоти будь-де

Захищений робочий стіл активний, коли відбувається будь-яке з наведених нижче дій: користувач блокує свій робочий стіл (Windows + L), активується заставка екрана (коли жоден користувач не входить у систему) або за замовчуванням, коли Контроль облікових записів користувачів представляє запит.

Джерело: XPDM проти WDDM

Ідея запозичена з відповіді Вільяма Хілсума, але є різниця: вам не потрібно замінювати жоден системний файл, і простіше скасувати зміни. Дотримуючись наведених нижче кроків, натискайте клавішу Win+ Uщоразу, коли вам потрібно зробити знімок екрана захищеного робочого столу.

Замініть утиліту простоти доступу

  1. Відкрийте командний рядок як адміністратор.
  2. Введіть або вставте наступну команду та замініть X:\Path\to\file.exeфактичним шляхом інструменту зйомки екрана, який виконується на ваш вибір. Потім натисніть Enter.

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Utilman.exe" /v "Debugger" /t REG_SZ /d "X:\Path\to\file.exe" /f
    

    Примітка Paint та вбудований інструмент для знімання не можна використовувати: вам потрібно буде покладатися на сторонні програми. Робочими інструментами є, наприклад, Lightshot , Greenshot та ShareX .

Поверніть зміни

  1. Відкрийте командний рядок як адміністратор.
  2. Введіть або вставте таку команду та натисніть Enter:

    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Utilman.exe" /f
    

1

Я не знаю багато про безпечний робочий стіл, але, теоретично, ви могли б відкрити Snipping Tool і використовувати його, щоб зробити знімок екрана таким чином. Ні редагування реєстру, ні перейменування файлів, ні. Це дуже базовий і простий метод. Шукайте "Інструмент для снайпера" або відкрийте Запуск (комбінація клавіш: Win + R) і введіть "snippingtool" або "snippingtool.exe".

У будь-якому випадку відкрийте його та використовуйте режим "Повноекранний знімок". У Windows 10 натисніть стрілку біля кнопки «Режим» і виберіть «Повноекранний знімок». У старих версіях Windows натисніть стрілку поруч із кнопкою «Створити» та виберіть «Повноекранний знімок». Це автоматично копіюється у вікно інструменту знімання, де ви можете додавати нотатки, зберігати фрагмент чи надсилати його електронною поштою у вікно Інструменту знімання. Для отримання додаткової інформації див. Сторінку довідки Microsoft .


0

Вимкніть безпечний робочий стіл для UAC, виконавши наступні кроки:

  1. За допомогою клавіші Windows + комбінації клавіш R відкрийте команду Run.
  2. Наберіть gpedit.msc і натисніть кнопку OK, щоб відкрити Редактор локальної групової політики.
  3. Переглянути такий шлях:

Конфігурація комп'ютера> Налаштування Windows> Налаштування безпеки> Параметри безпеки

  1. Праворуч двічі клацніть Control Control User (Контроль облікових записів користувачів). Під час запиту на політику піднесення переключіться на безпечний робочий стіл.

Редактор локальної групової політики

Виберіть параметр "Відключено".

введіть тут опис зображення

  1. Натисніть Застосувати.
  2. Натисніть кнопку ОК.

Після цього ви можете використовувати звичайну клавішу друку на будь-якому підвищеному додатку.


-1

Я використовував Windows Vista SP2. Я не стикався з таким обмеженням вище. Мій екран друку працює як шарм. Ви не можете позбутися від цього , якщо відключити UAC ( U сер ccount C ontroller). Для цього використовуйте . Знайдіть "відключити налаштування UAC" щось таке. Чим встановити зелений знімок; я думаю, це корисна програма. Я використовую цей метод без клопоту.msconfig.exe


OP хоче зробити знімок захищеного робочого столу. Відключення UAC відключає безпечний робочий стіл, правда?
gronostaj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.