我正在努力尝试使用GDI直接在桌面窗口上绘图。
在我看到一个有效的例子之前,似乎没有任何作用;但只有在调用RegisterClassEx之后。我用LoadIcon替换了RegisterClassEx,它仍然有效。
以下代码仅在调用LoadIcon时绘制正方形(在3秒延迟睡眠后)。
最初我认为这只是我的MinGW,但是我在Visual Studio 2012中进行了测试,直到睡眠之后它也没有画出方块。
为什么会发生这种情况,如果不注册任何窗口类/调用LoadIcon,我该怎么做才能使绘图工作?
#include <Windows.h>
int main(int argc, char **argv)
{
HBRUSH hbr = CreateSolidBrush(RGB(0, 255, 255));
RECT rect = {0, 0, 100, 100};
HDC hdc = GetDC(NULL);
FillRect(hdc, &rect, hbr);
Sleep(3000);
LoadIcon(NULL,IDI_APPLICATION);
return 0;
}