在全屏应用程序上显示图形;硬件覆盖?

0 投票
2 回答
3429 浏览
提问于 2025-04-15 17:12

在Windows(Vista32)上,我想在全屏的Flash窗口上显示一些简单的图形(也就是在使用Flash应用时显示一些有用的信息)。有什么最快的方法可以做到这一点呢?

我觉得我可以使用DirectX和DDSCAPS_OVERLAY这个标志来实现,但我找到的唯一一个例子让我遇到了一个异常:

E_NOTIMPL
The function called is not supported at this time

m_direct_draw->CreateSurface(&ddsd, &m_overlay_surface, 0)

(完整代码在这里:http://nexe.gamedev.net/files/Overlay-2005-11-21.zip

如果有关于C/++或Python的相关内容对我会很有帮助。我正在使用最新的DirectX SDK。

谢谢

2 个回答

0

虽然透明的分层窗口很有用,但它在设置了WS_EX_TOPMOST的全屏Flash上并不会显示在最上面。

不知道该怎么回复Paul,真是有点无奈。

在3D全屏应用上叠加这个话题很相关,虽然它能工作,而且Flash看起来加载了dx9,但在Flash上却不显示。

1

只需要创建一个分层窗口,然后在上面绘图,使用透明度通道就可以了。在WPF中,这个过程非常简单,只需在窗口上设置一个允许透明的选项。

撰写回答