RECT rect;
HWND hwnd = GetDesktopWindow();
LockWindowUpdate(hwnd);
HDC hdc = GetDC(hwnd);
HBRUSH hbrush = CreateSolidBrush(RGB(255,0,0));
GetWindowRect(hwnd, &rect);
FillRect(hdc, &rect, hbrush);
這是我以前沒有做過的嘗試。爲了清楚起見,我正在嘗試將整個屏幕着色爲純色。如何在Win32中對整個屏幕的純色進行着色
正如克里斯在他的回答結束時提到的,最好的方法是創建一個與整個屏幕大小相同的窗口,並將其塗成綠色。這樣,當您移除窗口時,桌面將重新恢復正常,而且其他重新繪製也不會干擾您的窗口。一般來說,您不應該在不屬於您的窗戶的HDC上繪畫。但是,無論如何,也許值得嘗試一下,以便您可以看到它有什麼問題:例如,等一會兒,您會看到狀態欄中的時鐘重繪本身。 – BrendanMcK
我同意。做任何事情的最佳方式是以最少的次數違反其他程序的隱私,並且在另一個程序具有相同想法的情況下發生衝突的可能性最小。 – chris