如果我通過注冊鉤子SetWindowsHookEx(WH_SHELL, ShellProc, ...),事件是什么意思HSHELL_WINDOWREPLACED?(我的 Google-fu 讓我失望了。我搜索了高低!)
Win32 檔案:
SetWindowsHookEx():https ://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowshookexwShellProc(回呼):https ://docs.microsoft.com/en-us/windows/win32/winmsg/shellproc
官方檔案寫道:A top-level window is being replaced. 奇怪的是,他們還說:Windows 2000: Not supported. 這是否意味著僅在Win2K之前或之后支持?
我創建了一個測驗驅動程式來觀看 Microsoft Windows 會話,但我無法觸發這個神秘事件。
我在這里也發現了一個類似的事件:
RegisterShellHookWindow:https ://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registershellhookwindow
... 說的是:
HSHELL_WINDOWREPLACING: A handle to the window replacing the top-level window.HSHELL_WINDOWREPLACED: A handle to the window being replaced.
相關:在 Win32 上創建新視窗時如何通知我?
uj5u.com熱心網友回復:
在這種情況下,術語“替換”是指窗??口停止回應訊息(“掛起”)并且在一段時間后,Windows 將其隱藏并在螢屏上用淡出的副本替換它(稱為“鬼窗”)。
Windows 這樣做是為了,即使應用程式不處理訊息,用戶也可以與幽靈視窗互動以移動它并嘗試關閉它。
該wParam值是掛起的視窗(被替換的那個)lParam的句柄,該值是幽靈視窗的句柄(它的替換)。
如果視窗再次開始回應,則會再次發送通知,并交換視窗句柄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/440060.html
