c# - 如何制作 'always-on-bottom' -window

标签 c# delphi

有谁知道如何制作“始终位于底部”的窗口,或固定到桌面的窗口?它应该获得焦点和鼠标点击,但应该位于 Z 顺序的底部。如果即使用户进行了全部最小化或显示桌面操作,它也能留在桌面上,那就太好了。

delphi 和 c# 解决方案(或部分解决方案/提示)都很棒。

最佳答案

警告 建议您可以通过调用 SetParent 并将窗口设置为桌面的子窗口来完成此操作。如果这样做,您会导致 Win32 窗口管理器将桌面的输入队列组合到您的子窗口,这是一件坏事 - Raymond Chen explains why.

此外,请记住使用 HWND_BOTTOM 调用 SetWindowPos 是不完整的。每当您的窗口改变 zorder 时,您都需要这样做。处理 WM_WINDOWPOSCHANGING 事件,查看 SWP_NOZORDER 了解更多信息。

关于c# - 如何制作 'always-on-bottom' -window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/527950/

相关文章:

delphi - Delphi 中 WideString 的 WrapText

c# - 如何使用 UDP 实现 Traceroute?

C# json反序列化对象

c# - 在过去十年中我一直在使用 VB 编写代码,我该如何调整我的 C# 技能?

Delphi Soap 请求程序 - 访问 TLS1.1/TLS1.2 时出现问题

文件更新时的 Delphi 通知

delphi - 从 Delphi 中的 func/proc 获取对象作为结果

c# - 整数溢出 - 将 C# 转换为 VB.Net 代码

c# - 在 LINQ 哪里访问外键?

Delphi:为什么我可以静态链接该函数但不能动态链接?