1
我在Vista上有一個應用程序,它循環遍歷所有進程並查找關聯的主窗口以移動和調整它們的大小。MoveWindow API在Vista上無法正常工作
問題是,有些窗口被移動和調整大小,有些則沒有。此外它甚至似乎移動和調整大小的窗口不會根據MoveWindow函數調用進行移動和調整大小,因爲它們被調整爲標題欄,並且它們都位於同一行(相同的y座標)。
這裏的示例代碼:
IntPtr handle;
Process[] processList = Process.GetProcesses();
int i = 0;
foreach (Process process in processList)
{
handle = process.MainWindowHandle;
if (handle != IntPtr.Zero) //If the process has window then move and resize it.
{
bool moveResult = MoveWindow(handle, i * 50, i * 50, 500, 500, true);
i++;
}
}
這是因爲Vista嗎?我應該使用什麼替代方法?
怎麼了與多個窗口的進程?首先檢查窗口是否可見,是否有意義? – 2010-05-09 21:19:34
讓我們保持簡單:進程只有一個窗口,所有窗口都可見,但即使如此,一些窗口根本不會移動,其他窗口最小化爲標題欄而不是500x500像素。 – 2010-05-09 22:02:20
那麼你不是在一個真正的Windows系統上運行它呢?只是一個假設,所有的進程只有一個窗口(這從來不會發生) – Stewart 2010-05-10 00:06:31