Crie um blackoverlay ou desative o monitor

0

Parte de um exercício que estou criando para usar um PC sem monitor (por isso quero dizer apenas usar um teclado e um mouse e de coração saber quais botões clicar) requer de alguma forma desativá-lo e deixar o aluno parar o processo que criou essa sobreposição preta ou ativou um script que habilita o monitor novamente.

Eu tentei usar o SendMessage no winapi, mas ele só coloca o monitor em repouso, o que qualquer movimento do mouse ou clique no teclado desativará. Eu usei isso:

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);

Eu descobri que existe um registro que lida com a detecção de novos monitores no Windows em HKLM > Software > Microsoft > TMM > UseIViewHelper. Supostamente, se você alterar de 1 para 0, ele para de detectar novos monitores, mas parece não funcionar (ou pelo menos para minha compreensão).

Eu tentei usar o MultiMonitorTool por Nir Soffer, mas não parece desabilitar um monitor principal, e como eu tenho apenas um monitor para o PC, não ajuda em nada.

Alguém pode me ajudar com uma ideia de como fazer isso, ou talvez que ferramenta devo usar?

Obrigado

    
por Alex Kipper 14.02.2017 / 11:56

1 resposta

0

Eu terminei essa tarefa eventualmente usando alguns truques. Aqui está como eu fiz:

  1. Escrevi um formulário em C # com a propriedade topmost = true na frente de todas as janelas possíveis, exceto o gerenciador de tarefas, o menu Iniciar e a barra de tarefas.
  2. Escrevi em C # uma função para alterar o registro que habilita o gerenciador de tarefas e removi a maioria das opções da tela crtl + alt + del.
  3. Adicionada uma função que ativa um script de bat que ativa um script AHK para desabilitar todas as possibilidades de crtl + alt + delete (meio asqueroso, eu sei).
  4. Criado uma função para remover a barra de tarefas.
  5. Alterou as opções de privacidade manualmente: clique com o botão direito na barra de tarefas > opções > startmenu > desmarcando ambas as opções na seção de privacidade.

Resultado:

Uma sobreposição preta sem startmenu, sem crtl + alt + del, sem gerenciador de tarefas, sem alt tab. No entanto, tudo que você faz é registrado normalmente, como se o monitor estivesse desconectado. Tenha cuidado ao fazer isso, pois você pode ficar preso sem uma opção fora! Eu criei outro aplicativo que reverte todas essas coisas e o adicionei aos atalhos de execução, por isso, enquanto não vejo nada, eu poderia pressionar cegamente o CRTL + R e escrever o atalho que criei para desabilitar tudo!

PM me se alguém quiser o código-fonte completo.

    
por 19.02.2017 / 13:22