如何在Windows中生成OSD?

如何在Windows中生成OSD?,windows,winapi,Windows,Winapi,我想创建一个屏幕显示,即文本或简单图形,显示在所有其他显示内容的顶部。我知道在Linux中这是通过xosd实现的,但是在Windows中如何实现呢?(如果XP和更高版本更简单,我还想知道该方法在Vista/7中是否不同)您可以调用您可以使用它来完成上述操作 本文介绍了如何创建 OSD窗口 动画/半透明效果,在中 C#,使用NativeWindow类 使用WS_EX_LAYERED样式使窗口透明,使用SetWindowPos(…,HWND_top…)使其浮动在其他窗口之上。仅显示一个未激活的始终在

我想创建一个屏幕显示,即文本或简单图形,显示在所有其他显示内容的顶部。我知道在Linux中这是通过xosd实现的,但是在Windows中如何实现呢?(如果XP和更高版本更简单,我还想知道该方法在Vista/7中是否不同)

您可以调用您可以使用它来完成上述操作

本文介绍了如何创建 OSD窗口 动画/半透明效果,在中 C#,使用NativeWindow类


使用
WS_EX_LAYERED
样式使窗口透明,使用
SetWindowPos(…,HWND_top…)
使其浮动在其他窗口之上。

仅显示一个未激活的始终在顶部的窗口就足够了吗,或者你想直接在屏幕表面绘制文本和简单图形吗?我想直接-用户根本不能与之交互。OSD通常不是活动窗口,此外,你不能只调用SetForeGroundIndow,因为只有前台进程可以这样做。我不认为ZoFreX在寻找C代码,但是那篇文章确实使用了所有正确的Win32 API,所以在本机代码中复制效果应该不难。是的,代码没有解释窗口需要什么属性以及为什么那么重要。那篇文章正是我想要的,谢谢!