Execute um lote / cmd no protetor de tela

21

Existe uma maneira de executar um .bat ou .cmd quando o protetor de tela é iniciado? Eu notei que alguns arquivos .exe podem ser executados se você os renomear para .scr, mas é isso?

    
por laggingreflex 18.01.2013 / 10:53

3 respostas

18

1. Iniciador de tela

Screen Launcher lets you choose any program to run as a screensaver. You could start a Powerpoint, a movie or any EXE or associated file. To install, simply unzip, right-click and click Install on the context menu. You can then use Screen Launcher just like any other screensaver. To open files such as Powerpoint presentations, you must execute the powerpoint program and type the path to your ppt as a parameter. An example for displaying an image would be c:\winnt\system32\mspaint.exe c:\picture.bmp. Download today to take advantage of any media as a screensaver.

[ Link de download alternativo desde que o site oficial parece estar morto. ]

2. RunSaver (não confunda com o RunScreenSaver do mesmo autor).

Screensaver that runs a command.

Tenhocertezadequeexistemmuitosoutrosprotetoresdetelaquepermitirãoquevocêexecuteprogramas/scriptsarbitrários.Masesevocêquisercontinuarusandoseuprotetordetelaatual?Seassimfor,vejaabaixoparaasolução(testadonoWin7,devefuncionarbemnoVista+).

3.Usandonão3rdferramentasdefesta

  1. ID do Evento 4802 corresponde a A proteção de tela foi invocada , mas não é registrada por padrão e, portanto, precisamos ativar o registro para esse evento primeiro. Então abra o Editor de Diretiva de Grupo Local ( Start / Run / gpedit.msc ), navegue para:

    Computer Configuration / Windows Settings / Security Settings / Advanced Audit Policy Configuration / System Audit Policies - Local Group Policy Object / Logon/Logoff / Audit Other Logon/Logoff Events

    e ative as caixas de seleção para Sucesso e Falha :

  2. Sevocêesperarqueseuprotetordetelasejainiciado,vocêveráagoraosregistrosdeeventossemelhantesaosseguintesemVisualizareventos:

  3. AgoraéfácilusaroAgendadordeTarefasparacriarumatarefaqueseráiniciadaquandooEvento4802ocorrer.BastagarantirqueaguiaTriggersdacaixadediálogoPropriedadesdatarefaseparececomoseguinte:

por 20.01.2013 / 03:42
5

Para completar a boa resposta do @Karan , gostaria de referir, para os interessados em executar um programa após o screensaver dispensar , que o processo é o mesmo usado em sua solução "3. Não usando ferramentas de terceiros" , mas O ID do evento deve ser 4803 .

(Por exemplo, no meu caso, quero desabilitar o Aero ( "net stop uxsms" ) quando o protetor de tela é iniciado e reativá-lo ( "net start uxsms" ) quando o protetor de tela pára)

    
por 27.09.2014 / 01:37
3

Se o tempo não for muito crítico, você poderá simplesmente usar o acionador interno do Planejador de Tarefas "Iniciar a tarefa: em estado ocioso".

Task Scheduler -> Create Task -> "Trigger" tab -> New -> "Begin the task:" -> "On Idle"

Em seguida, vá para a guia "Ações" e defina a ação para o que você deseja executar.

Isso deve executar a Ação após o início da proteção de tela (ou se o sistema ficar inativo sem o protetor de tela), mas pode ser um atraso de 0 a 15 minutos. Aqui estão os detalhes relevantes da documentação do Agendador de Tarefas:

The Task Scheduler service will check if the computer is in an idle state every 15 minutes. A computer is considered to be in an idle state when a screen saver is running. If a screen saver is not running, then the computer is considered to be in an idle state if there is 0% CPU usage and 0% disk input or output for 90% of the past fifteen minutes and if there is no keyboard or mouse input during this period of time.

Assim, o protetor de tela é iniciado e, depois, 0-15 minutos depois, o Windows verifica a inatividade e inicia o programa.

    
por 25.03.2014 / 18:19