一個給定的外部(未由當前進程所擁有的)窗口(hWnd
)首先最小化,那麼隱藏的:ShowWindowAsync不激活一個隱藏+最小化窗口?
ShowWindowAsync(hWnd, SW_MINIMIZE);
// wait loop inserted here
ShowWindowAsync(hWnd, SW_HIDE);
以下調用正確它恢復到未最小化(恢復)狀態:
ShowWindow(hWnd, SW_RESTORE);
然而,這個電話沒有:
ShowWindowAsync(hWnd, SW_RESTORE);
在第二種情況下與ShowWindowAsync()
中,窗口未被最小化並且不再隱藏,但未被激活(保留在其他現有窗口之後)。相反,第一個ShowWindow()
調用會正確激活該窗口。
這是預期的行爲? 如何在不依賴ShowWindow()
(同步(阻塞))的情況下恢復窗口(到前臺)?(該示例中的等待循環可具有超時,而ShowWindow()
不允許超時的規範。)
(操作系統SP3)
呼叫的ShowWindow()+ SetForegroundWindow()。 –
@HansPassant:這是一個阻塞(同步)調用,我試圖避免。 – Unsigned