2012-03-23 2 views
1

저는 GUI로 창 관리자를 만드는 것을 고려해 왔습니다. 그러나 나는 내 프로그램이 소유하지 않은 창을 이동시키는 가장 좋은 방법을 찾아 내기 위해 고심하고있다.Java를 사용하여 화면에서 Windows 창을 이동하는 방법은 무엇입니까?

지금까지 Windows API와의 인터페이스에 JNI를 사용해야했지만 유용한 예제를 찾지 못했습니다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

감사합니다.

추신. 이 작업을 수행 할 수있는 더 나은 언어가 있다면 자바와 꼭 연결할 필요는 없습니다.

+0

나는 네이티브 언어는 VM 환경보다 훨씬 더 좋을 거라 확신합니다 ... – Deanna

답변

3

빠른 창 관리자를 사용하는 것이 확실한 경우 C++ 또는 C# 또는 Delphi를 사용하는 것이 좋습니다.

하지만 자바에 익숙하다면 할 수 있습니다.

(aging) JNI를 선택하면 Java 응용 프로그램에서 사용할 C 또는 Delphi에서 DLL을 작성해야합니다. 대신 Windows의 윈도우 처리 API 함수에 액세스하려면 JNA을 사용해야합니다.

당신이 사용하는 것과 일부 기능

은 다음과 같습니다

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)를 일단.

EnumWindows function reference at MSDN

관련 문제