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

时间:2009-12-20 05:02:45

标签: c++ python windows flash directx

在Windows(Vista32)上,我想在全屏闪存窗口上显示一些简单的图形(使用闪存应用程序时叠加有用信息)。什么是实现它的最快方法?

我想我可以使用带有DDSCAPS_OVERLAY标志的DirectX来实现它,但是我发现我得到了一个例外的唯一例子:

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 :(得分:1)

只需创建一个分层窗口并使用alpha通道绘制它 - 在WPF中,这就像设置Window上的AllowTransparency位一样简单

答案 1 :(得分:0)

虽然透明分层窗口很有用,但它不会出现在设置了WS_EX_TOPMOST的全屏闪存之上。

请注意如何悲伤地回复保罗。

Overlaying on a 3D fullscreen application非常相关,但是当它正常工作且闪存似乎加载dx9时,它不会显示在闪存上。