6
尋找回到發展空間;主要使用Java調用一些本地Win32函數(我並不想打造.NET)....如何使用JNI或JNA讀取窗口標題?
有人點我到一個地方,我可以閱讀使用Java從不同的充運行窗口標題( JNI/JNA /痛飲)。假設你會知道你試圖掛入的應用程序在內存空間的哪個位置。
尋找回到發展空間;主要使用Java調用一些本地Win32函數(我並不想打造.NET)....如何使用JNI或JNA讀取窗口標題?
有人點我到一個地方,我可以閱讀使用Java從不同的充運行窗口標題( JNI/JNA /痛飲)。假設你會知道你試圖掛入的應用程序在內存空間的哪個位置。
在JNA:
public interface User32 extends StdCallLibrary {
User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
int GetWindowTextA(PointerType hWnd, byte[] lpString, int nMaxCount);
}
要使用它:
byte[] windowText = new byte[512];
PointerType hwnd = ... // assign the window handle here.
User32.INSTANCE.GetWindowTextA(hwnd, windowText, 512);
System.out.println(Native.toString(windowText));
你可能要使用HWND適當的結構映射,也允許Unicode支持;你可以找到這些信息,以及如何做到這一點的JNA website更多的例子。
的GetWindowText函數功能的文檔可以在這裏MSDN。
JNA的文檔可在jna.dev.java.net
我怎樣才能得到一個窗口句柄? – Synox 2011-03-04 15:25:09