如何设置 window top of any topmost window?

How to set window top of any topmost window?

我更喜欢将任务栏设置为隐藏,但仍然希望一直显示时钟。我在屏幕的右下角做了一个小时钟(80x41px)。我把它设为最顶层 [edit: with Timer]:

SetWindowPos(hwnd, HWND_TOPMOST, r.right - width, r.bottom - height, 0, 0, SWP_NOSIZE);
// r is my window's rect

当我点击任务栏时,我的时钟仍然在它上面。但是当我玩一些全屏游戏时它隐藏了我的时钟。可能他们使用了特殊的方法。
我的问题是有什么方法可以在每个最顶层 window 甚至活动最顶层 window 的顶部显示我的 window? 我不需要我的应用程序获取键盘或鼠标输入,只需放在那里显示时间即可。

我知道我的问题很具体,因为我为自己写了这个时钟。我搜索了google但没有找到任何网页可以解决这个问题(this question问同样的问题,但是它想要获取鼠标事件,答案说没有,但我希望window 不需要输入可能是特例)。
如有任何帮助,我们将不胜感激!

编辑
万一不可能,在屏幕顶部画一个矩形怎么样?由于我不需要输入,这可能是一个替代解决方案。这可能吗?

这不是很优雅,但我之前通过在一秒计时器上不断将 window 设置为 HWND_TOPMOST 解决了这个问题。

是否在自己的进程内?

作为一般规则,如果进程已经是前台进程,则该进程只能期望设置前台 window。 (Microsoft 在 SetForegroundWindow() MSDN 条目中记录了限制。)