c++ - 如何在 C++ 中绘制到屏幕?

标签 c++ screen draw invisible

我如何在屏幕上画东西?不是控制台窗口而是整个屏幕,最好将控制台最小化。

此外,它会出现在打印屏幕上吗? 我想做的是在屏幕顶部创建一个类似层的东西,只有我和我的应用程序知道,但仍然能够像往常一样使用应用程序。

举个例子: 假设我想要 2 个大小为 5 x 5 像素的黄色方 block 出现在所有其他应用程序之上的屏幕中央,不可点击且在打印屏幕上不可见。

[编辑]

我忘了说我在 Windows XP 上使用 Visual Studio 2010。

最佳答案

在 Windows 中,您可以使用 GetDC 函数。 只是一个简单的例子:

#include <Windows.h>
#include <iostream>

void drawRect(){
    HDC screenDC = ::GetDC(0);
    ::Rectangle(screenDC, 200, 200, 300, 300);
::ReleaseDC(0, screenDC);
}
int main(void){
    char c;
    std::cin >> c;
    if (c == 'd') drawRect();
    std::cin >> c;
    return 0;
}

但是自从 Windows Vista 之后它就非常慢了

关于c++ - 如何在 C++ 中绘制到屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981621/

相关文章:

Android 启动画面错误

Android 屏幕尺寸和密度

android - 画线- Android

c++ - 互斥体作为对象的属性和对象的 vector

c++ - 动态创建二维数组

c++ - 从 arduino 读取到 c++ 程序时保持接收 NULL

c++ - 静态 qt 对话框窗口不可能?

html - 如何在任何显示器上的相同位置显示一个 div 而不管物理尺寸

c# - 我怎样才能在图片框中绘制一个在边缘标记的多边形

ios - 在 imageView 顶部绘制背景清晰的矩形