可怜的我也要做反截图软件,有个问题求教前辈们
公司要做商密网业务,我的工作内容有反截图或加水印的代码编写(公司投标忽悠用的,所以软件简单点没问题),目前说明下情况再提问题:
自己研究了几天,又上网看了些论坛话题之类的,知道反截图是无法完美实现(可惜我只是新员工,想反驳也无力),但可以做个简单的先就会下,打算从两个实现方式上入手:矩形截图与窗口截图。
矩形截图:获取鼠标左键按下托动的矩形大小,来禁止掉CreateCompatibleBitmap(hScrDC, nWidth, nHeight)及BitBlt(hMemDC, 0, 0, nWidth, nHeight,hScrDC, nX, nY, SRCCOPY),这么做我自己知道有BUG,但用来应付下应该可以,就不讨论了;
窗口截图:像QQ之类的,可以根据鼠标位置来锁定窗口的矩形(截图应该是在新建的全屏窗口上就行截取,这没错吧),我就想是不是也能自己获取这个矩形来禁止那两个API来实现,但问题在于——
假如我枚举任务栏各窗口位置与矩形大小,若窗口没重叠,应该问题不大;若窗口有重叠部分,我如何获取鼠标点击位置的最上层窗口句柄(假设A、B两个窗口重叠部分为C,我把鼠标放在C上,那A、B两个窗口哪个被我选定,即怎么确定哪是更上层)?问题似乎不难,但我新人,一时没找到解决方式,求前辈指点。