我正在编写一个 HUD 风格的应用程序(只是文本,零用户交互),我希望我的文本/水印始终可见,无论系统上的其他应用程序如何。
我为自己制作了一个 WPF 弹出窗口和最顶层,但如果出现其他想要成为最顶层的应用程序,它们似乎会取代我的。
是否有 win32 支持来覆盖这个并有效地为系统/应用程序添加水印?
没有。来自 Raymond Chen 的博客:如果两个程序试图这样做会怎样?
“我如何创建一个永远不会被任何其他窗口覆盖的窗口,甚至不会被其他最顶层的窗口覆盖?”
想象一下这是否可能,想象一下如果两个程序做到了这一点。程序 A 创建了一个“超级顶层”窗口,程序 B 也是如此。现在用户拖动两个窗口,使它们重叠。怎么了?你给自己创造了一个逻辑上的不可能性。这两个窗口中的一个必须在另一个之上,这与想象中的“超级顶层”功能相矛盾。