トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

ウインドウハンドラを取得する

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(263)
hwndTest.c(274)

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(223)
hwndTest2.c(255)

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では実行に失敗するかも

[カテゴリ: プログラミング言語 > Java]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2014年10月08日 23時12分36秒