关于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