0

我想在屏幕中央画一个小点,以便在运行任何应用程序后它必须保留。即使在我以全屏模式启动应用程序后,一个点也应该保留。就像一个坏点。

我已经在装有 Windows 7 的计算机上安装了 Visual C++。我对 C++ 有一些经验,但我从未在 Windows 操作系统下使用过图形。

如何在屏幕上画一个点?

4

2 回答 2

5

许多图形卡具有覆盖功能,并且无论其他应用程序在其他层中呈现什么,都可能将其设置为屏幕上的最前面。

但是这样做的方法将特定于视频卡型号和驱动程序。

或者,您可以尝试让您的代码在应用程序中进行全屏渲染,找到它们的渲染上下文,并在理想的时间绘制到它。对于所有不同的图形 API,这仍然需要一堆变体。

有人描述了 Steam 试图解决可移植性问题(通过无数种实现)以及如何利用这一点的尝试。

于 2013-07-24T13:34:02.827 回答
2

我将创建一个正确定位的 1x1 像素(或您需要的任何大小)窗口,没有边框或标题栏,所有客户区域并适当地绘制它。WS_EX_TOPMOST使用样式创建窗口很重要。只要您的程序正在运行,只要没有与该样式重叠的其他窗口,该窗口就会可见。

我这样做是为了恶作剧。它在全屏 OpenGL 游戏 (Quake III) 上运行得非常好。我将它安装在朋友的机器上,这样它就会闪现 LOSER!在游戏过程中随机出现在屏幕中央的大字体。

这在 XP 系统上运行良好。我想它应该可以在 Windows 7 上运行。

于 2013-07-24T13:52:16.007 回答