Come Tweak Programatically Impostazioni di Windows Screensaver del Registro di sistema

StackOverflow https://stackoverflow.com/questions/1369754

  •  21-09-2019
  •  | 
  •  

Domanda

Sto lavorando sul codice che dovrebbe iniziare il salvaschermo definito dalle preferenze dell'utente. (Il codice è in Java, ma verrà eseguito solo in Windows.) Il mio approccio attuale è quella di impostare il valore ScreenSaveTimeOut nel Registro di sistema a 1; in teoria, che dovrebbe dare lo screensaver dopo un ritardo di solo un secondo.

Ma in pratica, non fa nulla del genere. Ho colpito i valori sia in HKEY_CURRENT_USER \ Control Panel \ Desktop \ ScreenSaveTimeOut e HKEY_USERS.DEFAULT \ Control Panel \ Desktop \ ScreenSaveTimeOut senza risultati. Posso vedere i valori cambiano quando apro il regedit, ma il "Wait" valore in Proprietà dello schermo -.> Screen Saver non cambia

Un filo Experts-Exchange indicato dovrei fare questo per rendere effettive le modifiche immediatamente:

%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

... ma che non sembra fare nulla.

Qualche consiglio o intuizioni in quello che sto facendo male?

È stato utile?

Soluzione

Per attivare lo screen saver, si potrebbe trovare più facile solo per eseguire il file SCR con parametro a '/ s', in questo modo:

C:\WINDOWS\system32\ssstars.scr /s

In alternativa, non posso dire molto su come fare questo da Java, ma se si può chiamare le funzioni in user32.dll è possibile controllare lo screen saver come un utente finale. Qui ci sono un paio di link:

(Da ultimo, c'è il metodo .NET, ma ancora una volta non ho idea di come ottenere che da Java: http://zayko.net/post/C-How-To-Disable-Windows-Screensaver-programmatically.aspx )

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top