使用java关闭监视器灯

时间:2012-07-26 11:42:35

标签: java

有没有办法像屏幕保护程序一样使用java代码关闭显示器屏幕指示灯。按下按钮将关闭屏幕指示灯,按任意键或鼠标移动指示灯会回来。

3 个答案:

答案 0 :(得分:5)

  

有没有办法像屏幕保护程序一样使用java代码关闭显示器屏幕灯。

使用标准API不是与平台无关的方式。您将不得不依赖某些特定于系统的命令。

在Linux机器上,您可以执行

Runtime.getRuntime().exec("xset dpms force off");

答案 1 :(得分:4)

这是一个已由您的操作系统实现的功能。它在操作系统和硬件相关的功能中如此深入,这使得在纯Java中很难做到这一点,无论如何你可以在C ++上轻松完成它

#include <windows.h>
#include <ctime>

int main() {
  int seconds = 10;
  clock_t delay = seconds *CLOCKS_PER_SEC, start = clock();

  while(clock() - start < delay)
    SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2);

  SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2);
  return 0;
}

答案 2 :(得分:0)

这是一个高度系统特定的事情。绝对是特定于操作系统的,也可能是特定于硬件的。

Java不是这种事情的最佳选择。它可能是可能的,但有更好的方法...比如运行本机OS实用程序或编写一个小C应用程序来调用本机代码库。