Рисовать на экране с GDI + (или GDI), аналогично Inspect

Я пытаюсь рисовать на экране (весь экран поверх всех остальных окон), используя GDI +.
Я передал NULL в GetDC для вывода HDC на экран, а затем использовал его для создания графического объекта и использовал DrawRectangle для рисования прямоугольников на экране.
Все работает ... кроме ... внутри прямоугольника не будет обновляться.

Например, если я нарисую ее поверх командной строки и переместу ее, внутренняя часть прямоугольника останется черной. Я ожидаю увидеть, что под прямоугольником.

Вот код, который делает рисунок

Pen BluePen(Color(255, 0, 255, 0), 2);
Graphics graphics(screenDC);
graphics.DrawRectangle(&BluePen, myRect);

Довольно просто, так что я должен сделать что-то, чтобы обновить внутреннюю часть прямоугольника, когда экран делает? Или чтобы получить это действительно прозрачным.

================= РЕДАКТИРОВАТЬ =================

Ну, я отказался от этого и предположил, что это невозможно, пока ... Я не понял, что инструмент Inspect, поставляемый с Windows SDK, делает это прекрасно.

Я хотел бы воссоздать что-то похожее на выделенный прямоугольник, и если я выберу окно (например, Firefox), а затем перейду на Inspect, я смогу свободно перемещать его, когда все будет идеально обновляться. Там нет даже никакого мерцания.

Итак ... кто-нибудь знает, как Inspect удается это сделать?

И ответы в GDI вместо GDI + прекрасны ...

Ответы на вопрос(1)

Ваш ответ на вопрос