Javaのバージョンが 1.2, 1.3の場合
int hwnd = ((sun.awt.windows.WToolkit)java.awt.Toolkit. getDefaultToolkit()).getNativeWindowHandleFromComponent(f);
で取得できる。1.4の場合は、 JNIを使って取得する。
Javaのバージョンが 1.4の場合
方法1
windowHandler.java(464)
hwndTest.c(440)
JNIのコンパイル
java test
javah test
gcc-2 -O2 -Os -mwindows -mno-cygwin -shared test.c -ID:\Development_tools\java\jdk1.5.0_06\include
-ID:\Development_tools\java\jdk1.5.0_06\include\win32 -Wl,--enable-auto-import -Wl,--add-stdcall-alias -o test.dll
方法2
windowHandler2.java(466)
hwndTest2.c(452)
JNIコンパイル
gcc -shared hwndTest2.c -Ic:/java/include/ -Ic:/java/jinclude/win32/ -Wl,--enable-auto-import -Wl,--add-stdcall-alias -o windowHandler2.dll -LC:/java/jre/lib -LC:/java/lib -ljawt
実行
jre の java で実行する。JDKのbin以下のjavaでは実行に失敗するかも
[通知用URL]
Tweet
最終更新時間:2014年10月08日 23時12分36秒