2010-08-02 177 views
1

我想用Java編寫Windows 7窗口管理器,但存在一些問題。首先,我如何操作不屬於我自己的應用程序的窗口的大小和位置?換句話說,我如何操作其他應用程序的窗口?在Java中操作來自其他應用程序的窗口

而且,與我的第一個問題有關,是否有可能獲得所有當前窗口的列表?

而最後一個問題是:Java是否適合這項任務,或者我應該看看C#嗎?

回答

2

第一:Java可能不是這項任務最適合的語言。您需要調用本機Windows API,因此C/C++將是非常合適的。你可以用JNI使用Java,但可能不值得這樣麻煩。我不知道C#/託管C++,所以不能說一些關於它。

獲取當前窗口的列表: http://support.microsoft.com/kb/183009

更改窗口位置:
SetWindowPos
SetWindowPlacement

您可能還需要得到信息時窗口中進行更改。看看例如SetWindowsHookEx,特別是CBTHook。

編輯:上次我試過了,總是允許更改其他進程的窗口。如果這不允許在Windows7下,你可以隨時安裝一個全局鉤子,並改變窗口從內部進程...

+0

我同意。如果你打算與底層操作系統接口,C/C++將比​​Java更適合。 – Richard 2010-08-02 10:56:39

相關問題