2013-09-28 60 views
1

我曾經在C++(Windows編程)中編程。在那個時候控制系統很容易。但是現在當我改變爲java時,它看起來不同。 請幫助我一種方法來使用像「」在Java中的Windows功能。在java中使用windows(C++)函數

,我發現這樣的事情C-JNI wrapper,但我不知道如何使用它..

我想在這上面得到這個代碼:

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2); 

C++代碼看起來是這樣的:

#include <windows.h> 

int main() 

{ 

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2); 

return 0; 
} 
+4

繼續使用JNI。 – deepmax

+2

JNI太糟糕了。使用JNA代替它,它已經提供了一組OS API包裝器:https://github.com/twall/jna – millimoose

回答

0

不要抗拒JNI。你應該(必須)使用它。

這是訪問本地資源(如API)的標準方式。

Here is a very simple step-by-step tutorial,它只有4個步驟,我保證你可以在30分鐘內學會它。

+0

JNI是FFI的JDBC。這是一個「通話級別」的界面,沒有更高層次的抽象,唯一有利的就是被包裹在一些不那麼令人沮喪的事情中。 – millimoose