7thwheel blog

人生楽しんだもの勝ち!

JavaFX で JNA を使用して window handle(hWnd) を取得する方法

JavaFx の Stage に対する window handle(hWnd) は JNA(Java Native Access) を使用することで簡単に取得できます。

user32.dll には FindWindow という関数があるのですが、これはウィンドウタイトルでウィンドウを検索することができるのです。MSDNには子ウィンドウは探しませんと書いてありますが、primaryStage の 子ステージでも検索することができました。

com.sun.jna.platform.win32.User32 を import するだけで、user32.dll が自動的にロードされます。

以下にサンプルコードを載せておきます。