2012-07-26 109 views
1

有什麼辦法可以像使用屏幕保護程序一樣使用java代碼來關閉顯示器屏幕燈。按下按鈕將關閉屏幕燈,並且按任意鍵或鼠標移動燈將返回。使用java關閉顯示器燈

回答

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; 
} 
+0

It works.Thanks – 2012-07-26 13:41:14

+0

我們就是爲了這個!我很高興我幫你 – 2012-07-26 13:44:52

+0

順便說一下,我用C++製作了一個.exe文件,並使用Java運行時類來執行它。 :) – 2012-07-26 14:03:55

5

有什麼辦法可以像使用屏幕保護程序一樣使用java代碼關閉顯示器屏幕燈。

不以使用標準API的平臺獨立方式。你將不得不依靠一些系統特定的命令。

在Linux中,你可以爲實例來

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

這是一個特定的高度系統的事情。絕對操作系統特定的,也可能是硬件特定的。

Java並不是這類事情的最佳選擇。這可能是可能的,但有更好的方法......比如運行本地OS實用程序或編寫一個C應用程序來調用本地代碼庫。

+0

好的,謝謝。我最好試一試C++ – 2012-07-26 13:32:59

+0

@MamunSardar你可以嘗試使用JNI或JNA來添加C++代碼到java – meain 2014-01-13 10:34:10