1
我一直在考慮用GUI來製作一個窗口管理器,可能是用Java編寫的。但是,我正在努力找出移動不屬於我的程序的窗口的最佳方式。如何使用Java在屏幕上移動Windows窗口?
到目前爲止,它似乎我應該使用JNI來與Windows API接口,但我還沒有找到任何有用的示例。
有誰知道如何做到這一點?
謝謝!
PS。我不必依賴於Java,如果有更好的語言來做到這一點。
我一直在考慮用GUI來製作一個窗口管理器,可能是用Java編寫的。但是,我正在努力找出移動不屬於我的程序的窗口的最佳方式。如何使用Java在屏幕上移動Windows窗口?
到目前爲止,它似乎我應該使用JNI來與Windows API接口,但我還沒有找到任何有用的示例。
有誰知道如何做到這一點?
謝謝!
PS。我不必依賴於Java,如果有更好的語言來做到這一點。
如果目的是有一個快速的窗口管理器,你肯定是用C++或C#,或甚至德爾福更好。
但是,如果您對Java最熟悉,可以完成。
如果您選擇(老化)JNI,您必須使用Java應用程序將使用的C或Delphi編寫DLL。您應該使用JNA來訪問Windows的窗口處理API函數。
你們當中有些人會使用的功能有:
HWND WINAPI GetWindow(HWND hWnd, UINT uCmd);
HWND WINAPI FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName);
BOOL WINAPI EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam);
HWND WINAPI WindowFromPoint(POINT Point);
BOOL WINAPI MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint);
一旦你的窗口句柄(HWND),你可以做任何你與該窗口喜歡。
我確定任何本地語言都會比VM環境好得多...... – Deanna 2012-03-23 10:54:09