如何使用Delphi构建桌面粘合应用程序?

如何使用Delphi构建桌面粘合应用程序?,delphi,Delphi,我想用Delphi开发一个Windows应用程序,即使用户单击任务栏上的“显示桌面”按钮,它也会一直保持在桌面上 我试过密码: 设置窗口位置(手柄、HWND_底部、左侧、顶部、宽度、高度、SWP_NOACTIVE或SWP_NOMOVE或SWP_NOSIZE) 但是,当我单击“显示桌面”时,窗体将不可见。 有什么解决方案吗?我同意David Heffeman的观点,即在未经用户同意的情况下,在用户身上发布这样的应用程序时需要小心 也就是说,我已经在一个为我个人使用而编写的应用程序中完成了这项工作

我想用Delphi开发一个Windows应用程序,即使用户单击任务栏上的“显示桌面”按钮,它也会一直保持在桌面上

我试过密码: 设置窗口位置(手柄、HWND_底部、左侧、顶部、宽度、高度、SWP_NOACTIVE或SWP_NOMOVE或SWP_NOSIZE)

但是,当我单击“显示桌面”时,窗体将不可见。
有什么解决方案吗?

我同意David Heffeman的观点,即在未经用户同意的情况下,在用户身上发布这样的应用程序时需要小心

也就是说,我已经在一个为我个人使用而编写的应用程序中完成了这项工作

边框样式设置为
bsNone

设置计时器,并在每个计时器上勾选执行:

 if visible then SetWindowPos(Self.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);

你的用户不会讨厌这个吗?最好不要安装两个这样的程序。也许你真正想要的是一个信息亭。你在寻找类似任务栏的东西吗?你可以覆盖表单的
CreateParams
;继承并设置
Params.WndParent:=FindWindow('Progman',nil)
。我不知道副作用可能是…@kobik的副作用非常严重。不要这样做。@kobik Stick Notes是一个小工具(或者在Vista中被称为“侧边栏”)。它们实际上是基于一种HTML。我试着写了两篇文章,要求我在Delphi中创建一个ActiveX库。仍然不是很友好,放弃了这个想法。当我单击任务栏上的“显示桌面”时,无法在Windows 7上工作。我忘了我已将BorderStyle设置为bsNone。我不知道这为什么会改变什么。