Como tirar uma imagem da área de trabalho segura do Windows?

25

Por padrão, o prompt do UAC do Windows Vista / 7/8 é exibido em uma área de trabalho protegida. Infelizmente, a Print Screenchave não parece ter nenhum efeito ao visualizar a área de trabalho protegida. Eu posso ver o raciocínio por trás disso - nenhum aplicativo de modo de usuário deve ser capaz de capturar o conteúdo da área de trabalho segura.

No entanto, minha pergunta permanece: existe alguma maneira de obter uma captura de tela desta área de trabalho?


Edit: talvez ajudaria se eu explicar o problema.

Atualmente, estou executando o Windows 8 e tenho um pequeno monitor baseado em DisplayLink que gostaria de usar. Este driver acabou de ser lançado e funciona muito bem - exceto que ele quebra no desktop seguro. Eu quero postar um relatório de bug nos fóruns lá e, para fazer isso, eu preciso de uma captura de tela. Obviamente, o problema não se manifestará na área de trabalho padrão - e executar o Windows em uma VM é impossível porque o Windows 8 exige virtualização de hardware (o que eu não tenho) e conseguir monitores USB para trabalhar com uma VM é complicado.

Nathan Osman
fonte
5
Você pode executá-lo em uma máquina virtual.
jdigital
1
@ user8368: Isso não é uma opção, já que estou tentando obter a captura de tela para demonstrar um problema de hardware específico que pode não aparecer em uma VM. Também não é uma opção de uma perspectiva de licenciamento. E, por fim, não tenho virtualização de hardware, então isso tornaria tudo muito difícil.
Nathan Osman
1
Você pode definir o prompt do UAC para não usar a área de trabalho protegida por meio da diretiva de grupo (local).
billc.cn
1
@ billc.cn: Eu sei, mas o problema que estou tentando obter uma imagem não se manifesta.
Nathan Osman
1
@ George Edison: Tem certeza? Desligando o Secure Desktop, o prompt do UAC ainda será acionado. Mas como não está na área de trabalho segura, outros aplicativos podem capturá-lo.
surfasb

Respostas:

40

Eu encontrei um modo de "chapéu preto" de fazê-lo ...

insira a descrição da imagem aqui

Quando em um ambiente de trabalho seguro, as ferramentas de acessibilidade ainda funcionar muito bem ... então, eu usei a minha cópia do FastStone Capture portátil , fui para c:\windows\system32e renomeado osk.exepara osk.exe.olde copiados / renomeado fscapture.exea partir do diretório FastStone para osk.exedentro do diretório system32.

Fui então a um prompt do UAC e pressionei Win Key+ Ue cliquei na opção "on screen keyboard".

E ... O FastStone Capture começou, embora fosse apenas um teste ... usá-lo nesse modo não pode acessar os detalhes da minha licença ... Eu consegui tirar uma foto muito bem e salvá-lo ... embora, quando eu pensei que estava salvando no meu desktop, na verdade foi c:\windows\syswow64\config\systemprofile\desktop... você aprende algo novo todos os dias!

Com base no exposto, sempre achei que o desktop seguro do UAC era um ambiente elevado usando suas próprias credenciais, mas, na verdade, ele é lançado sob o Systemusuário - portanto, Print Screenpode realmente funcionar, mas não está no contexto do seu user - com isso em mente, se você usar uma cópia de tinta em vez do Fast Stone Capture, faça uma captura de tela e execute o Paint através do hack On Screen Keyboard, isso pode funcionar da mesma maneira!

editar --- atualizar ---

A pintura está fora da janela! Apenas testei minha teoria e ela não funcionou, não tenho certeza do motivo exato, mas, suponho que, se você usar praticamente qualquer ferramenta de captura de tela e meu método acima, ela deve funcionar.

William Hilsum
fonte
3
Este é um uso muito inteligente das ferramentas de acessibilidade :)
Nathan Osman
2
Eu suspeito que o Paint não peça UIAccesspermissão para jogar com a UIPI, enquanto os outros aplicativos de acessibilidade o fazem. Veja UIAccess para aplicações de automação de interface do usuário mais aqui para os requisitos.
ta.speot.is
@ todda.speot.is Interessante e vai ler como estou interessado em aprender, mas, eu acho que pode haver mais também - eu não posso imaginar Faststone Capture implementando isso, deve ser que a tela de impressão é simplesmente desativada por default e a maioria dos utilitários de captura de tela apenas sobrescrevem o comportamento padrão ... (Eu sei que a MS tem a tecnologia para desabilitar bits - por exemplo, suite empresarial MS DRM (esqueça o nome real) desativa a tela de impressão e muitos outros recursos).
William Hilsum
@WilliamHilsum (em referência ao seu comentário anterior): Você está se referindo à Política de Grupo ?
bwDraco
Eu me pergunto se a Snipping Tool faria o mesmo?
Uma criança de Deus
19

Pegue uma câmera digital e tire uma foto da tela.

LawrenceC
fonte
Isso também me veio à mente também. Não tão elegante, mas muito menos dor de cabeça.
Paperlantern
17

No entanto, minha pergunta permanece: existe alguma maneira de obter uma captura de tela desta área de trabalho?

Um processo executado como SYSTEMe instalado em um local apropriado pode ignorar a UIPI e entrar no Secure Desktop.

Aproveite os programas existentes que fazem isso - RealVNC (não a edição gratuita, infelizmente) e UltraVNC por exemplo.

Execute o servidor no seu PC e conecte o cliente a ele de outro computador. Tire uma captura de tela da janela do cliente.

Embora seja provavelmente tão fácil tirar uma foto da tela.

ta.speot.is
fonte
1
Ah, é isso mesmo ... Eu tenho outra máquina que eu posso VNC para ver o desktop seguro - eu esqueci completamente sobre isso.
Nathan Osman
11

Existe uma maneira ainda melhor. Com a ajuda de duas ferramentas gratuitas de código aberto, Greenshot e Process Hacker , você poderá criar uma captura de tela da área de trabalho segura com estes benefícios :

  • Sem mexer e sem alterações no arquivo de sistema ou no registro
  • Você não precisa digitar nada em um prompt de comando (para usuários de mouse é um benefício)
  • É mais fácil de executar e, além da primeira configuração, consome muito menos tempo. Vamos começar!

    1. Faça o download do Greenshot e defina as configurações para que seja salva automaticamente uma imagem de toda a tela em uma pasta, se você estiver pressionando a tecla Print Screen.

    2. Baixe o Process Hacker. Se você vir a janela principal do Process Hacker, verifique se Greenshot está fechado e clique em "Hacker" e "Executar como ..."

    3. Selecione o arquivo executável do Greenshot em "Programa". Em "Nome do usuário", clique na lista e escolha "NT AUTHORITY \ SYSTEM". "Tipo" deve ser Service, Session ID 1 e em "Desktop" selecione "WinSta0 \ Winlogon". Isso é importante!

    4. Agora você já deve estar pronto para ir, clique em "OK", quando Greenshot terminar de carregar (deve ser curto), abra uma janela do UAC e pressione a tecla Print. Agora você deve ver uma imagem da área de trabalho segura em sua pasta especificada no Greenshot! Se você não precisa mais criar screenshots UAC, simplesmente mate o processo Greenshot.

Diverta-se! Eu confirmei e testei isso sozinho depois de vários testes, porque eu não gostei das soluções aqui até agora.

Testosterona
fonte
5

Eu vou oferecer uma outra opção do que usar a máquina virtual, vnc ou alterar arquivos de registro ou sistema que podem ser desagradáveis ​​ou impossíveis em alguns casos.

Primeiro você vai precisar de um software de captura de tela, por esta resposta eu vou usar o 7capture que é gratuito, mas acredito que isso pode ser feito com outros softwares.

Segundo, você precisará do PsExec da suíte PsTools , essa ferramenta permitirá colocar 7capture dentro do Windows Secure Desktop, sem alterar nenhum arquivo do sistema, apenas criando e removendo um serviço que é feito automaticamente pelo PsExec.

Então com o 7capture instalado e com o PsTools extraído para alguma pasta faça o seguinte:

1) Abra o CMD como admin.

2) Defina a pasta atual para a pasta onde o PSTools foi extraído: cd path_to\PSTools

3) Inicie o 7capture dentro do Windows Secure Desktop com o seguinte comando: PsExec /h /x /d /s "path_to\7capture.exe"

Onde:

-h: Se o sistema de destino for o Vista ou superior, o processo será executado com o token elevado da conta, se disponível.

-x: Exibe a interface do usuário na área de trabalho segura do Winlogon (somente no sistema local).

-d: Não espere o processo terminar (não interativo).

-s: executa o processo remoto na conta do sistema.

4) Abra o Windows Secure Desktop que você quer tirar uma foto. (Prompt do UAC, Ctrl + Alt + Del tela etc.)

5) Use Ctrl + PrintScreen para tirar uma foto de apenas uma janela, ou PrintScreen para tirar uma foto da tela inteira.

6) Use Alt + Tab para mudar para o 7capture.

7) Apenas salve o arquivo onde quiser. (Se você tiver problemas com a imagem em tela cheia, salve-a como BMP)

E aqui você pode ver os resultados no meu Windows 7:

Janela do prompt do UAC Tela inteira do Prompt do UAC

Antonio Dias
fonte
Este método não funciona se nenhum usuário estiver logado.
and31415
2

Se você instalar o TeamViewer em seu computador e reinicializar seu computador, o TeamViewer poderá acessar o prompt do UAC. De outro pc que está usando o teamviewer, você pode fazer uma captura de tela de toda a sua área de trabalho enquanto o teamviewer estiver visível, mas não tiver foco, e você terá uma captura de tela do prompt do UAC.

LPChip
fonte
2

Outra opção é usar o autoitscript (de autoitscript.com)

É uma linguagem de script freeware, semelhante ao BASIC, projetada para automatizar a GUI do Windows e o script geral. Ele usa uma combinação de pressionamentos de tecla simulados, movimento do mouse e manipulação de janela / controle.

Com a função send () você pode simular o pressionamento da tecla printscreen. Extraído dos exemplos no site https://www.autoitscript.com/autoit3/docs/functions/Send.htm :

Example()

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

Vá aqui http://www.autoitscript.com/site/autoit/downloads/ para baixá-lo.

Eu não tentei esta solução sozinho, mas parece bastante decente, dado que você precisa para resolver o seu problema.

De uma chance. Espero ter ajudado.

PanGalactic
fonte
2

Tire capturas de tela em qualquer lugar

A área de trabalho protegida está ativa sempre que ocorrer uma das seguintes situações: o usuário bloqueia sua área de trabalho (Windows + L), a proteção de tela é ativada (quando nenhum usuário está logado) ou por padrão quando o Controle de Conta de Usuário apresenta uma solicitação.

Fonte: XPDM vs. WDDM

A ideia é emprestada da resposta de William Hilsum, mas há uma diferença: você não precisa substituir nenhum arquivo do sistema e é mais fácil desfazer as alterações. Depois de seguir as etapas abaixo, pressione Win+ Usempre que precisar tirar uma captura de tela da área de trabalho protegida.

Substituir o utilitário Facilidade de Acesso

  1. Abra um prompt de comando como administrador.
  2. Digite ou cole o seguinte comando e substitua X:\Path\to\file.exepelo caminho real do executável da ferramenta de captura de tela de sua escolha. Então pressione 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
    

    Observação O Paint e a Ferramenta de Captura interna não podem ser usados: você precisará confiar em programas de terceiros. As ferramentas de trabalho são, por exemplo , Lightshot , Greenshot e ShareX .

Reverta as alterações

  1. Abra um prompt de comando como administrador.
  2. Digite ou cole o seguinte comando e pressione Enter:

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

Eu não sei muito sobre o desktop seguro, mas você poderia, em teoria, ser capaz de abrir o Snipping Tool e usá-lo para fazer uma captura de tela dessa maneira. Sem edição de registro, sem renomeação de arquivos, nenhum. Este é um método muito básico e fácil. Procure por "Ferramenta de Recorte" ou abra Executar (atalho do teclado: Win + R) e digite "snippingtool" ou "snippingtool.exe".

De qualquer forma, abra-o e use o modo "Captura de Tela Cheia". No Windows 10, clique na seta ao lado do botão "Modo" e selecione "Captura de Tela Cheia". Nas versões mais antigas do Windows, clique na seta ao lado do botão "Novo" e selecione "Captura de Tela Cheia". Isso é copiado automaticamente para a janela Snipping Tool, onde você pode adicionar anotações, salvar o recorte ou enviá-lo por e-mail a partir da janela Snipping Tool. Veja a página de ajuda da Microsoft para mais informações.

Um filho de Deus
fonte
0

Desativar a área de trabalho protegida para o UAC, usando as seguintes etapas:

  1. Use o atalho de teclado Windows + tecla R para abrir o comando Executar.
  2. Digite gpedit.msc e clique em OK para abrir o Editor de Diretiva de Grupo Local.
  3. Procure o seguinte caminho:

Configuração do Computador> Configurações do Windows> Configurações de Segurança> Opções de Segurança

  1. No lado direito, clique duas vezes no Controle de Conta de Usuário: Alterne para a área de trabalho protegida ao solicitar a política de elevação.

Editor de política de grupo local

Selecione a opção Desativado.

insira a descrição da imagem aqui

  1. Clique em Aplicar.
  2. Clique OK.

Depois disso, você pode usar a tecla normal da tela de impressão em qualquer aplicação elevada.

TarmoPikaro
fonte
-1

Eu tenho usado o Windows Vista SP2. Eu não encontrei esse tipo de restrição acima. Minha tela de impressão funciona como um encanto. Você não pode se livrar do que a menos que a desativação do UAC ( U Ser Um ccount C ontroller). Para fazer isso, use msconfig.exe. Procure "desabilitar as configurações do UAC". Que instale tiro verde; é um programa útil, eu acho. Eu tenho usado esse método sem problemas.

Reajality
fonte
OP quer tirar screenshots do desktop seguro. Desativar o UAC desativa a área de trabalho segura, certo?
gronostaj