我想用Java编写Windows 7窗口管理器,但是存在一些问题。首先,我如何操纵不属于我自己的应用程序的窗口的大小和位置?换句话说,我如何操纵其他应用程序的窗口?
而且,与我的第一个问题相关,是否有可能获得所有当前窗口的列表?
而且,最后一个问题:Java是否适合这项任务,还是应该看看C#?
答案 0 :(得分:2)
首先:Java可能不是此任务最适合的语言。您需要调用本机Windows API,因此C / C ++很自然。您可以将Java与JNI一起使用,但可能不值得麻烦。我不知道C#/托管C ++,所以不能说些什么。
获取当前Windows的列表: http://support.microsoft.com/kb/183009
更改窗口位置:
SetWindowPos
SetWindowPlacement
您可能还需要在窗口更改时获得通知。看看例如SetWindowsHookEx,特别是CBTHook。
编辑:上次我试过,总是允许更改其他进程的窗口。如果在windows7下不允许这样做,你可以随时安装一个全局钩子并从INSIDE中改变窗口......