如何使机器保持唤醒状态?
2022-09-01 09:15:14
我有一个用Java编写的类似服务器的软件,可以在Windows和OS X上运行(它不是在服务器上运行的,而只是一个普通用户的PC - 类似于torrent客户端。我希望软件在机器处于活动状态时向操作系统发出信号,以保持机器处于唤醒状态(防止其进入睡眠模式)。
当然,我不期望有一个跨平台的解决方案,但我希望有一些非常小的C程序/脚本,我的应用程序可以生成这些程序/脚本来通知操作系统保持清醒。
有什么想法吗?
我有一个用Java编写的类似服务器的软件,可以在Windows和OS X上运行(它不是在服务器上运行的,而只是一个普通用户的PC - 类似于torrent客户端。我希望软件在机器处于活动状态时向操作系统发出信号,以保持机器处于唤醒状态(防止其进入睡眠模式)。
当然,我不期望有一个跨平台的解决方案,但我希望有一些非常小的C程序/脚本,我的应用程序可以生成这些程序/脚本来通知操作系统保持清醒。
有什么想法吗?
我使用此代码来防止我的工作站锁定。它目前仅设置为每分钟移动一次鼠标,您可以轻松调整它。
这是一个黑客,而不是一个优雅的解决方案。
import java.awt.*;
import java.util.*;
public class Hal{
public static void main(String[] args) throws Exception{
Robot hal = new Robot();
Random random = new Random();
while(true){
hal.delay(1000 * 60);
int x = random.nextInt() % 640;
int y = random.nextInt() % 480;
hal.mouseMove(x,y);
}
}
}
在 Windows 上,使用 SystemParametersInfo 函数。这是一个瑞士军队风格的功能,可让您获取/设置各种系统设置。
要禁用屏幕关闭,例如:
SystemParametersInfo( SPI_SETPOWEROFFACTIVE, 0, NULL, 0 );
只要确保在完成后将其设置回去...