我正在寻找一种以编程方式启动触发器以从Java应用程序退出活动屏幕保护程序的方法。
在Windows 7中,我使用Java Robot类的键击来退出活动的屏幕保护程序。此方法不再适用于Windows 8/10。
还有其他办法吗?
答案 0 :(得分:0)
我用Windows批处理文件解决了这个问题。批处理文件是从java进程执行的。
批处理文件正在从注册表中读取活动屏幕保护程序的名称,并使用taskkill命令终止该进程。
这是.bat文件内容
rem active screensaver name from the registry
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE') DO SET screensaver=%%B
ECHO screensaver=%screensaver%
rem the screensaver name contains the absolute path
rem extract only the name
Set filename=%screensaver%
For %%A in ("%filename%") do (
Set Folder=%%~dpA
Set Name=%%~nxA
)
echo.Folder is: %Folder%
echo.Name is: %Name%
rem kill the screensaver process
taskkill /im %Name% /f