运行java进程而不让Win7进入standy或hibernate或

运行java进程而不让Win7进入standy或hibernate或,java,windows,Java,Windows,我想知道一个人是否可以长时间运行java应用程序,例如48小时,而不需要windows通过进入某种睡眠模式(例如,待机或休眠或其他)来停止它。我需要java不间断地运行,直到完成,有什么想法吗 thanx作为一种直接攻击,您可以使用它生成一些按键/鼠标中断,以便您的机器不会进入空闲模式状态文档: 防止系统 在中转换到低功耗状态 Windows Vista,应用程序必须 调用SetThreadExecutionState以通知 正在使用的系统 从XP到Vista,整个Windows领域都发生了巨大

我想知道一个人是否可以长时间运行java应用程序,例如48小时,而不需要windows通过进入某种睡眠模式(例如,待机或休眠或其他)来停止它。我需要java不间断地运行,直到完成,有什么想法吗


thanx

作为一种直接攻击,您可以使用它生成一些按键/鼠标中断,以便您的机器不会进入空闲模式

状态文档:

防止系统 在中转换到低功耗状态 Windows Vista,应用程序必须 调用SetThreadExecutionState以通知 正在使用的系统

从XP到Vista,整个Windows领域都发生了巨大的变化,因此任何基于WM_POWERBROADCAST的解决方案都无法在现代Windows上运行


因此,建议的解决方案是调用。您可以使用,例如,
SendInput()
或其他Java本机等效工具来伪造鼠标消息,但我可能会选择
SetThreadExecutionState()

漂亮的提示。你已经在生产系统上使用过了吗,所以你知道它确实有效吗?@Lukas,不,我写的不是确切的解决方案,我没有尝试过。@David会的。你为什么不改变电源设置呢?如果您不能这样做,请查看SetThreadExecutionState()。我已经厌倦了这段代码中的示例代码,它在64位机器上不起作用,加上它是一个旧的VS 6版本。中断代码项目链接的是Vista而不是64位。SetThreadExecutionState()有什么问题?@Fuega哦,我明白了……也许你可以尝试使用JNA版本的
WndProc
检测
WM\u POWERBROADCAST
事件……我自己尝试一下似乎很有趣:)