如何禁用其他使用 CEF 呈现网页的应用程序的硬件加速?

How disable hardware acceleration of a other app that use CEF to render web pages?

我想要html部分的截图(例如:classChrome_RenderWidgetHostHWND)使用 CEF 呈现网页的应用程序。

尝试使用 BitBlt and PrintWindow 但只能捕获黑屏,因为我要捕获的应用程序正在使用硬件加速。

这是一个老问题,在传统 Google Chrome 导航器上禁用了以下选项:可用时使用硬件加速.

然后我想知道是否存在相同的可能性,在这种情况下,阻止或禁用此资源给使用 CEF 的确定应用程序?

关于这种可能性,我所看到的只是disable inside of application that use CEF, not outside they

感谢任何相关建议或解决方案!

如果您可以修改该 CEF 应用程序的源代码,则可以轻松禁用硬件加速。

如果您使用 CEF4Delphi,您应该将 GlobalCEFApp.EnableGPU 设置为 FALSE,如果是 DCEF3,您可以在 CefOnBeforeCommandLineProcessing 过程中添加 --disable-gpu 命令行开关。

如果您不能修改源代码但可以修改命令行,则使用 --disable-gpu 命令行执行该应用程序,如下所示:

MyApp.exe --disable-gpu

如果所有这些都失败了,您可以随时尝试在虚拟机或带有黑名单显卡的 PC 中执行该应用程序。