1

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

4

3 回答 3

5

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

不是以独立于平台的方式使用标准 API。您将不得不依赖一些系统特定的命令。

例如,在 Linux 机器上,您可以这样做

Runtime.getRuntime().exec("xset dpms force off");
于 2012-07-26T11:46:01.643 回答
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;
}
于 2012-07-26T11:58:21.113 回答
0

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

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

于 2012-07-26T11:58:59.603 回答