【问题标题】:Dynamic text printed on the desktop using Delphi?使用Delphi在桌面上打印动态文本?
【发布时间】:2011-12-01 23:24:23
【问题描述】:

我在我们的云服务器上看到,桌面上动态打印了一些文字,显示有多少可用内存,硬盘空间等。这不像窗口或小工具或任何东西,但不知何故它是直接绘制的在桌面上。我怎样才能做到这一点?我只看到过文字,但如果我也能在桌面上绘制图形就好了。

这是我的意思的一个示例:


编辑:

由于有人误解了我的问题,请允许我澄清一下:

我不一定需要完全按照现有工具的功能进行操作。事实上,我根本不想打印系统信息。我想打印我自己的信息以使其看起来相同,但是我使用什么方法来完成此操作并不重要(无论是使用窗口、保存桌面图像、绘制到桌面的画布,这些都是可能的答案)。我只想做一些具有相似最终结果的东西。

【问题讨论】:

  • 它可能是一个窗口。
  • 分层窗口是一个很好的方法
  • 这就是我的想法 - 如何确保它保持在后台并且不覆盖任何其他窗口?制作一个不断调用SendToBack 的计时器不是一个好方法,除了停留在底部之外,有没有类似fsStayOnTop 的东西?
  • 把它放到底部。将其设为 WS_EX_TRANSPARENT,以便点击。然后它停留在底部。谷歌分层窗口并阅读提供详细信息的 msdn 文章。
  • 已经在阅读了,谢谢

标签: windows delphi drawing delphi-7 desktop


【解决方案1】:

很有可能它实际上不是动态绘制的,而是使用 BGInfo 之类的东西:

http://technet.microsoft.com/en-us/sysinternals/bb897557

这是一个在启动时运行的实用程序(并且可以设置为定期重新运行),并创建一个随后用作桌面背景的图像。

【讨论】:

  • 看起来是的,这正是我所看到的,除了我想做一些非常相似的事情来做一些非常不同的事情。我不一定要打印系统信息,而是要打印有关我自己的自定义软件的其他信息。它应该在后台运行并动态更新。根据该链接,此信息是在登录时绘制的,不会自动更新,但我希望可以根据需要更改此信息。
【解决方案2】:

您可以查看here 并使用内置的TCanvas 类型直接在桌面上绘图。它可能不如使用透明窗口最佳,但我认为值得一看。我刚刚测试了它,它在 Windows 7 下运行良好。

【讨论】:

  • 感谢 Pateman,是的,它有效,但是这种方法可以覆盖所有内容。我只想在后台使用它。
猜你喜欢
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-28
相关资源
最近更新 更多