繁体   English   中英

屏幕捕获的C ++代码

[英]C++ Code for Screen Capturing

我需要编写代码进行屏幕共享,例如WebEx或Windows PC的Team Viewer。 要求是我没有管理员权限,并且无法为此安装任何应用程序或软件。 我知道以下技术,但是没有一个对我有用。 我已经尝试过此代码项目URL的所有示例http://www.codeproject.com/Articles/5051/Various-methods-for-capturing-the-screen

(1)使用SRCCOPY <=的GetDC(NULL)和BitBlt不会捕获透明窗口 ,并且会导致GDI挂起 (请尝试在Paint中进行绘图。当执行BitBlt操作时,铅笔卡住了一段时间)

(2)具有SRCCOPY和CAPTUREBLT选项<=的GetDC(NULL)和BitBlt当我调用BitBlt操作时,这将隐藏游标,而在执行BitBlt操作时,将挂起GDI

(3)我也尝试使用GetFrontBufferData使用DirectX 。这会导致透明窗口闪烁

(4)我尝试使用Windows Media API,但这需要安装Windows Media Encoder

(5)我也尝试使用镜像驱动程序,但这要求使用管理员权限安装驱动程序。

任何人都可以建议API,无需任何安装即可捕获整个屏幕,并且没有闪烁或GDI挂起问题。

提前致谢.....

问题在于,无论使用哪种方法,都必须挂接到系统中(拦截一些操作系统到驱动程序的调用),以使系统有时间安全地进行操作。 需要使用任何软件才能在管理模式下运行。

所有上述方法均由于权限不足而内部调用失败而失败。

如果您想一想,如果在用户级别运行exe甚至可以共享非系统级别用户的系统调用,则该系统可能存在严重的安全漏洞:我只需要提供您使用的共享屏幕的应用程序,而无需您注意。

因此,与其试图欺骗您的公司安全策略,不如问问管理员:如果您出于商业目的需要这些软件,他们将执行所需的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM