我想改變的Explorer.exe的列表視圖的顏色像這樣如何繼承Windows資源管理器的窗口
我通過GetTopWindow功能和他的家人得到了列表視圖窗口的句柄。
要繼承的explorer.exe的列表視圖窗口,我注入我的DLL的代碼通過下面的代碼瀏覽器。
SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, g_hInstDll,
dwExplorerListviewThreadId);
我的DLL是由explorer.exe loaed好。 並且我在注入的代碼中將窗口過程分類爲SetClassLongPtr(用於全局子類)。
SetClassLongPtr回報的成功,但我的子類功能(SubclassProc)只接收WM_CREATE WM_DESTROY和WM_MOVE消息。怎麼了?我期望得到WM_NOTIFY和NM_CUSTOMDRAW。
Explorer沒有什麼特別的東西(很好,很少):它實際上並不是窗口管理器:窗口經理「在abov中提到e文章是USER32。自2005年的文章以來,事情發生了一些變化:新的DWM(桌面窗口管理器)進程現在處理一些窗口管理和組合 - 但主要是在圖形方面; USER32仍然管理輸入,掛鉤以及與HWND相關的所有事情。 – BrendanMcK