如何制作一个可点击和透明的“始终置顶”窗口

3
我想显示一个半透明的置顶窗口,其中包含一些信息,但我不希望此窗口接收输入或获得焦点。所有鼠标单击应该传递到底层窗口。
我记得几年前在一个shell-replacement应用程序中看到过这个效果,但我记不清是哪个应用程序了。
有没有办法用Delphi或C#实现这种效果?
更新:
我无法使用Delphi完全实现所提出的解决方案。将NCHITTEST消息返回为HTTRANSPARENT将停止所有鼠标消息到达窗体,但它不会传递到z-order中的下一个窗口。这种方法是否适用于跨进程工作,还是仅适用于特定窗口的子元素?
如果我设置ExStyle标志WS_EX_TRANSPARENT,所有鼠标单击都将穿过到下一个窗口,但我根本不会收到NCHITTEST消息,并且将无法控制窗口是否应该被点击...
1个回答

5

谢谢!我会尽快尝试这个。我也会努力提高搜索能力... :-) - Vegar
请注意:这仅适用于窗口是透明的情况。如果您有标签或某种图像,这些将不是可点击的。 - configurator
我其实不太确定 - 你测试过了吗?如果是这样,你仍然可以通过拦截应用程序的所有 Windows 消息并返回命中测试结果来解决这个问题。 - Noldorin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接