Qt 使用windows api 防止截屏

关于Windows 防止截屏,在Qt的函数库中并没有相关的函数直接调用,通过查阅Windows api找到相关接口。

函数直接调用

#include "winuser.h"

void setWindowsPreventScreenCapture(bool state)
{
    
    
	//获取相关窗口句柄
	HWND hwnd = reinterpret_cast<HWND>(widget->winId());
	if(nullptr == hwnd)
	{
    
    
		return;
	}
	//屏蔽窗口截图
	SetWindowDisplayAffinity(hwnd, state);
}

在这里插入图片描述

————————————————————————————————————————————

更改winuser.h中
在这里插入图片描述
如果编译不过加gdi32.lib文件

pro文件中添加:

LIBS += -lgdi32

windows xp及之前可以用directdraw的overlay surface
windows7及之后可以用SetWindowDisplayAffinity

猜你喜欢

转载自blog.csdn.net/qq_40650582/article/details/108305492