【发布时间】:2020-10-23 10:17:09
【问题描述】:
我想在不使用窗口的情况下在桌面上画线。我试过这段代码:
const HDC dc = GetDC(NULL);
while (true) {
MoveToEx(dc, 100, 100, NULL);
LineTo(dc, 50, 50);
}
但它不起作用。我怎样才能意识到这一点?
【问题讨论】:
-
“不使用窗口” - 为什么?
-
另外,您的代码也有效。您可能使用不清晰可见的颜色(黑色,我猜是在黑色控制台窗口中)或线条太短而无法注意到。
LineTo(dc, 1920, 1080);(或任何你的屏幕分辨率)可能会让它引人注目。 -
不确定您的期望和/或您最终的目标。它确实显示了一条黑线,但是由于您不拥有桌面,因此几乎可以用任何东西擦除该黑线。如果您使用主机背刷(透明“丙烯酸”笔刷)移动复合窗口(例如,Windows 10 Calc、UWP 应用程序)使其重叠,它实际上会在视觉上严重混淆该应用程序窗口(因为您正在这样做在无限循环中,这非常糟糕)。搞砸 Windows 很有趣,但你不能用它来进行严肃的编程。
标签: c++ windows winapi graphics gdi