我寫了一個程序,它在桌面圖標上繪製小部件,在桌面圖標下繪製,都很好。 但我揭示了一個奇怪的錯誤 - 我的程序並不適用於其他一些計算機 - 它們在啓動後顯示 沒有小部件的相同桌面。在桌面上的圖標下繪製
那麼,有沒有人有過這方面的經驗,有些知識呢?請幫幫我! :)
(我找不到任何附近的電腦,那裏的小工具不工作,在我的電腦中一切正常。在我的朋友的電腦顯示沒有什麼太)
繪圖方法:
我寫了一個dll,誰發現桌面窗口(progman->兒童安全>子)) 並創建一個鉤,並安裝自己的窗口過程桌面。 在窗口過程我勾WM_ERASEBKGND:
case WM_ERASEBKGND:
HDC hdc = (HDC)wparam;
PaintDesktop(hdc);
WidgetPaint(hdc);
return 1;
//我跳過這段代碼獲取和快速繪製設置裁剪區域。我試圖在WM_PAINT消息中繪製小部件,結果相同 - 所有的東西都已經在我身上工作,但並不適用於我所有的朋友。
upd:我解決了! :)
您的代碼是否在Windows XP中運行,而不是*在Windows Vista或Windows 7中運行? – MusiGenesis
是的,我的代碼適用於XP和Windows Vista。 但是copmletely在Windows 7中不起作用。在Windows 7中,我想,它的一個保護機制是 。 (我甚至不能列出在explorer.exe進程中加載的DLL) – vsvasya
出於好奇,這是什麼修復? – Brian