【问题标题】:Turn off monitor light using java [duplicate]使用java关闭监视器灯[重复]
【发布时间】:2012-07-26 11:42:34
【问题描述】:

有什么方法可以像屏幕保护程序一样使用 java 代码关闭显示器屏幕灯。按下按钮将关闭屏幕灯,然后按任意键或鼠标移动,灯就会恢复。

【问题讨论】:

    标签: java


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      这是您的操作系统已经实现的功能。它与操作系统和硬件相关的功能紧密相关,因此在纯 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;
      }
      

      【讨论】:

      • 我们就是为此而来的!很高兴能帮到你
      • 顺便说一句,我使用 c++ 制作了一个 .exe 并使用 Java Runtime 类执行它。 :)
      【解决方案3】:

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

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

      【讨论】:

      • 好的,谢谢。我最好在 C++ 上试试
      • @MamunSardar 您可以尝试使用 JNI 或 JNA 将 c++ 代码添加到 java
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 2015-05-13
      • 2011-05-03
      • 1970-01-01
      相关资源
      最近更新 更多