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

Kes*_*ion 6 c++ invisible screen draw

我怎么在屏幕上画一些东西?不是控制台窗口而是整个屏幕,最好是控制台最小化.

它还会出现在版画屏幕上吗?我想要做的是在屏幕顶部创建一个类似于我和我的应用程序知道但仍能像往常一样使用应用程序的层.

这是一个例子:假设我想在屏幕中央出现2个黄色正方形,大小为5×5像素,位于所有其他应用程序的顶部,对于打印屏幕不可点击和不可见.

[编辑]

我忘了提到我在Windows XP上使用Visual Studio 2010.

Oli*_*ops 8

在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;
}
Run Code Online (Sandbox Code Playgroud)

但是从Windows Vista开始它很慢

  • 在Windows Vista上使用Direct2D. (2认同)