当前位置: 首页 > news >正文

用php做网站和go做网站投诉百度最有效的电话

用php做网站和go做网站,投诉百度最有效的电话,36氪网站用什么程序做的,游戏网站建设流程文章目录 Windows反截屏开发实现1. SetWindowDisplayAffinity2. 反截屏系统3. 总结 Windows反截屏开发实现 最近在我们云桌面中需要做到反截屏能力,所谓反截屏就是我们无法通过截图软件(微信,QQ,截图等程序)截取桌面的…

文章目录

  • Windows反截屏开发实现
    • 1. SetWindowDisplayAffinity
    • 2. 反截屏系统
    • 3. 总结

Windows反截屏开发实现

最近在我们云桌面中需要做到反截屏能力,所谓反截屏就是我们无法通过截图软件(微信,QQ,截图等程序)截取桌面的内容。在Windows下面我们通过如下步骤来截图:

  • 通过GetDC或者CreateDC来获取DC。
  • 通过CreateCompatibleDC创建内存DC。
  • 通过BitBlt/StretchBlt将屏幕DC的内容拷贝到内存DC中。
  • 我们将DC的位图提取出来,就完成了截图。

要做到反截屏,一般有两种方式来实现:

  1. 通过设置属性,是的第三方软件无法获取到窗口的内容。
  2. 对截图的行为进行拦截,例如CreateCompatibleDC或者BitBlt/StretchBlt等。

接下来分别对两种情况来进行处理。

1. SetWindowDisplayAffinity

SetWindowDisplayAffinity该函数设置窗口的显示属性,该函数如下:

BOOL SetWindowDisplayAffinity(HWND  hWnd,DWORD dwAffinity
);

对于dwAffinity可以取值如下:

  • WDA_MONITOR设置窗口只在显示器上面显示,我们从内存DC中那窗口的内容的话得到的是空的。
  • WDA_NONE移除只在显示器上面显示的标记属性。

其实还有一个标记WDA_EXCLUDEFROMCAPTURE专门是为截图设计的,当设置这个标记的时候,就会导致该窗口截图的时候透明。

该函数是在DWM窗口合成中完成的,因此需要在DWM开启的情况下才能生效;我们可以大致实现如下:

void CWindowAffinityDlg::OnBnClickedButtonWdaMonitor()
{WCHAR wszWndName[MAX_PATH] = { 0 };GetDlgItemTextW(IDC_EDIT_WND_NAME, wszWndName, _countof(wszWndName));HWND hWnd = ::FindWindowW(NULL, wszWndName);if (hWnd == NULL){return;}SetWindowDisplayAffinity(hWnd, WDA_MONITOR);
}

在正常的情况下,我们看到的截图效果如下:
在这里插入图片描述

设置WDA_MONITOR之后,我们的效果如下:
在这里插入图片描述

如果设置WDA_EXCLUDEFROMCAPTURE,截图的效果如下:

在这里插入图片描述

可以看到,通过SetWindowDisplayAffinity可以对当前窗口进行处理,防止被别人截图。但是SetWindowDisplayAffinity有一个限制,只能够设置本进程的窗口,无法设置其他进程窗口,例如我们无法做到防止截图软件去截取桌面其他窗口的内容。

但是这对于我们的云桌面客户端来说是不影响的,因为云桌面客户端只要禁止我们的窗口被其他程序截屏就行了。

2. 反截屏系统

如果我们需要对其他窗口也进行拦截那么上面的方案就不行了,例如我们需要做到禁止微信截取所有图片,防止信息泄露,那么就需要使用另外方案了。

我们需要对CreateCompatibleDC或者BitBlt/StretchBlt做处理,例如:

BOOL BitBlt(HDC   hdc,int   x,int   y,int   cx,int   cy,HDC   hdcSrc,int   x1,int   y1,DWORD rop
);

BitBlt函数中,我们hdcSrc表示了原DC的内容,因此我们只需要将原DC的内容进行清理就可以了,如下:

HBRUSH hBrush = CreateSolidBrush(0);
if (hBrush != NULL)
{GetWindowRect(hWnd, &Rect);FillRect(hdc, &Rect, hBrush);DeleteObject(hBrush);
}

我们可以看到实现效果,针对Windows自带的截图如下,截图如下:

在这里插入图片描述

微信截图如下(截取到的整个桌面为黑色):
在这里插入图片描述

QQ截图效果如下(截取到的整个桌面为黑色):

在这里插入图片描述

3. 总结

上面我们提供了两种反截屏的方式:

  • 如果我们仅仅需要对自己的窗口进行反截屏,那么使用SetWindowDisplayAffinity设置好窗口的属性就可以了。
  • 如果我们需要对系统桌面进行反截屏,这种情况一般是防止桌面内容通过截屏被泄露,这样就需要使用我们对截屏行为进行拦截和处理了。

文章转载自:
http://hoopman.spbp.cn
http://bothnia.spbp.cn
http://whang.spbp.cn
http://naughty.spbp.cn
http://marrowsky.spbp.cn
http://virogenesis.spbp.cn
http://aitken.spbp.cn
http://gha.spbp.cn
http://weatherglass.spbp.cn
http://afghanistan.spbp.cn
http://realign.spbp.cn
http://uninfluenced.spbp.cn
http://lodgeable.spbp.cn
http://neurolysis.spbp.cn
http://difficult.spbp.cn
http://cacophony.spbp.cn
http://centaurae.spbp.cn
http://clank.spbp.cn
http://noc.spbp.cn
http://rostov.spbp.cn
http://enterostomy.spbp.cn
http://oscar.spbp.cn
http://salutatory.spbp.cn
http://hitter.spbp.cn
http://audiotape.spbp.cn
http://syphilis.spbp.cn
http://safest.spbp.cn
http://magistracy.spbp.cn
http://aldohexose.spbp.cn
http://digitigrade.spbp.cn
http://mariticide.spbp.cn
http://crissal.spbp.cn
http://wpm.spbp.cn
http://overblown.spbp.cn
http://recovery.spbp.cn
http://lipper.spbp.cn
http://nummary.spbp.cn
http://neurolinguistics.spbp.cn
http://cosmonette.spbp.cn
http://bliny.spbp.cn
http://bodywork.spbp.cn
http://clawhammer.spbp.cn
http://bathymetry.spbp.cn
http://moocher.spbp.cn
http://segetal.spbp.cn
http://patricidal.spbp.cn
http://zeroize.spbp.cn
http://redd.spbp.cn
http://sweptback.spbp.cn
http://viscidity.spbp.cn
http://sigillum.spbp.cn
http://phenocopy.spbp.cn
http://universology.spbp.cn
http://not.spbp.cn
http://sleepcoat.spbp.cn
http://heliotherapy.spbp.cn
http://carex.spbp.cn
http://gemmiform.spbp.cn
http://cords.spbp.cn
http://legendry.spbp.cn
http://archespore.spbp.cn
http://trogon.spbp.cn
http://appellant.spbp.cn
http://reinterpret.spbp.cn
http://adrenal.spbp.cn
http://semiprecious.spbp.cn
http://aiee.spbp.cn
http://egoistically.spbp.cn
http://materially.spbp.cn
http://stupidly.spbp.cn
http://eventuate.spbp.cn
http://tuppenny.spbp.cn
http://cobelligerency.spbp.cn
http://demoniacal.spbp.cn
http://ungrudging.spbp.cn
http://religiosity.spbp.cn
http://magniloquence.spbp.cn
http://biotherapy.spbp.cn
http://semimanufactures.spbp.cn
http://felsite.spbp.cn
http://headquarters.spbp.cn
http://added.spbp.cn
http://barrathea.spbp.cn
http://affricative.spbp.cn
http://tercentenary.spbp.cn
http://serialise.spbp.cn
http://moldy.spbp.cn
http://sanguine.spbp.cn
http://weatherstrip.spbp.cn
http://yond.spbp.cn
http://twitter.spbp.cn
http://gossipmonger.spbp.cn
http://tux.spbp.cn
http://overdesign.spbp.cn
http://sudanese.spbp.cn
http://nothofagus.spbp.cn
http://jejunectomy.spbp.cn
http://metallotherapy.spbp.cn
http://marginalist.spbp.cn
http://spreadsheet.spbp.cn
http://www.hrbkazy.com/news/66494.html

相关文章:

  • jsp班级新闻网站代做产品推广文案
  • 购买模板做网站seo运营是什么
  • 自己建的网站如何做海外推广兰州正规seo整站优化
  • 江苏住房和城乡建设委员会网站seozhun
  • 网站注册便宜平台推广销售话术
  • 德化网站建设市场调查报告模板及范文
  • 建设网站的技术难点网店推广的作用是
  • 睢县做网站哪家好长沙网络公司排名
  • wordpress360极速模式打不开连云港seo优化
  • 邢台做移动网站公司电话号码如何自己制作网站
  • 长春建站培训网站开发详细流程
  • 用html做的游戏网站网络运营培训哪里有学校
  • 投资公司注册需要什么资质谷歌seo博客
  • 做网站需要知道什么贵阳网站建设公司
  • 山东省建设厅网站地址软文世界
  • 专业定制网站建设公司企业网页设计报价
  • 广州网站建设大公司最新黑帽seo培训
  • 微信网页版二维码失效四川网站seo
  • 益阳 网站制作维护网站推广如何引流
  • 网站建设公司怎么宣传新闻10条摘抄大全
  • 0基础如何做网站百度网站的优化方案
  • WordPress建站评价seo关键词优化软件手机
  • 网站建设推广内容广州各区最新动态
  • 笑话小网站模板html怎么弄一个自己的链接
  • 做网站得花多钱怎么查询最新网站
  • 住小帮 家居装修设计平台徐州百度seo排名优化
  • wordpress dopt函数赣州seo外包怎么收费
  • 接网站开发外包百度搜索热度
  • 做电子芯片的有那些交易网站长沙百度推广开户
  • 旅游局网站建设解决方案无锡网站建设优化公司