Почему не рисуется линия?
Sleep(1000);
HWND window = FindWindow(NULL, L"Калькулятор");
if (window == NULL)return 0;
HDC dc = GetWindowDC(window);
if(dc==NULL)return 0;
for (int i = 0; i < 30; i++)
{
SetPixel(dc, 5 + i, 5, RGB(255, 9, 9));
}
В итоге ничего не происходит,хотя вроде хендл находится и GetWindowDC не возвращает 0.
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Почему же не рисуется? Отлично рисуется. Проверил.
Вот только увидеть это можно, если окно калькулятора ничем не перекрыто в момент запуска данной программы, и не сдвигается, иначе происходит перерисовка этого окна, и художества пропадают.
Для того, чтобы постоянно рисовать в чужом окне, нужно перехватить его оконную процедуру и подменить обработку сообщения WM_PAINT