首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你如何让机器保持清醒?

你如何让机器保持清醒?
EN

Stack Overflow用户
提问于 2008-09-09 20:50:12
回答 18查看 44.3K关注 0票数 32

我有一个用Java编写的服务器软件,可以在Windows和OS X上运行。(它不是在服务器上运行,而是在普通用户的PC上运行--有点像torrent客户端。)我希望软件向操作系统发出信号,使机器在活动时保持唤醒(防止其进入睡眠模式)。

当然,我不希望有一个跨平台的解决方案,但我希望有一些非常小的C程序/脚本,我的应用程序可以产生通知操作系统保持清醒。

有什么想法吗?

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2008-09-09 21:31:15

我使用这段代码来防止我的工作站被锁定。它目前只被设置为每分钟移动一次鼠标,但你可以很容易地调整它。

这只是一个技巧,而不是一个优雅的解决方案。

代码语言:javascript
复制
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);
        }
    }
}
票数 39
EN

Stack Overflow用户

发布于 2008-09-09 21:05:25

在Windows上,使用SystemParametersInfo函数。这是一个瑞士军队风格的功能,可以让你获得/设置各种系统设置。

要禁用屏幕关闭,例如:

代码语言:javascript
复制
SystemParametersInfo( SPI_SETPOWEROFFACTIVE, 0, NULL, 0 );

做完后一定要把它调回原处...

票数 14
EN

Stack Overflow用户

发布于 2012-04-23 19:59:38

添加到上面SCARCHER2的代码片段中,并仅移动鼠标1个像素。我已经将鼠标移动了两次,这样即使指针处于极端位置,也会发生一些变化:

代码语言:javascript
复制
while(true){
            hal.delay(1000 * 30);       
            Point pObj = MouseInfo.getPointerInfo().getLocation();
            System.out.println(pObj.toString() + "x>>" + pObj.x + "  y>>" + pObj.y);
            hal.mouseMove(pObj.x + 1, pObj.y + 1);  
            hal.mouseMove(pObj.x - 1, pObj.y - 1);
            pObj = MouseInfo.getPointerInfo().getLocation();
            System.out.println(pObj.toString() + "x>>" + pObj.x + "  y>>" + pObj.y);
        }
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档