gpt4 book ai didi

用于屏幕捕获的 C++ 代码

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:37 28 4
gpt4 key购买 nike

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

(1) GetDC(NULL) 和带 SRCCOPY 的 BitBlt <= 这不会捕获透明窗口 并且它会导致 GDI 挂起(只需尝试在 Paint 中绘图.. 你的执行 BitBlt 操作时铅笔卡住了一段时间)

(2) GetDC(NULL) 和带有 SRCCOPY 和 CAPTUREBLT 选项的 BitBlt <= 这将在我调用 BitBlt 操作时隐藏 Cursor 并且在执行 BitBlt 操作时 GDI Hung .

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

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

(5) 我也尝试过使用Mirror Driver,但这需要使用管理员权限安装驱动程序。

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

提前致谢......

最佳答案

问题是,无论您使用什么方法,您都必须连接到系统(拦截一些操作系统到驱动程序的调用),让系统给您时间安全地进行操作。这需要任何软件以管理模式运行。

由于权限不足导致某些内部调用失败,上述所有方法均失败。

如果你想一想,如果在用户级别运行一个 exe 可以共享系统调用,即使来自非系统级别用户,系统可能存在严重的安全漏洞:我只需要提供一个你使用的应用程序,它共享你的屏幕而不需要你注意到了。

因此,与其试图欺骗您公司的安全政策,不如询问您的管理员:如果您出于商业目的需要这些软件,他们会做所需的事情。

关于用于屏幕捕获的 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19134412/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com