我想创建一个 DeskBand 来在我的 Windows 任务栏上显示一些信息,但是我在努力实现我在 C++ 中需要的功能。我接触 C++ 已经有 10 到 15 年了。在过去的 7 年里,我一直在完全使用 .NET 工作。
在你说之前 - 我知道 DeskBands 已被弃用。但是建议的替换 UI 元素 - 缩略图工具栏 - 不能满足我的需要。我需要一个无论用户切换到哪个应用程序都始终可见的 UI 元素,并且还需要提供足够的空间来显示一行文本——我可以容纳 30 个左右的字符。
我已经能够从 Windows SDK 示例中获得 DeskBand 来编译和运行,但现在我需要实现一些真正的功能 - 特别是......
- 找到 AppData\Local 文件夹 (
SHGetKnownFolderPath(FOLDERID_LocalAppData...
) - 查看 XML 文件以进行修改。每当文件更改时,我都需要解析和重新绘制。
- 解析 XML 文件(我发现pugixml)
- 在我的 DeskBand 中显示 XML 文件中的一些数据
- 设置计时器以每分钟重绘一次 DeskBand
...而且我意识到我对 C++ 知之甚少,以及我对 .NET 的基类库的依赖程度。如果我用 C# 编写这个任务,对我来说将非常容易。但是我在其他地方了解到,您不应该在 .NET 中编写 shell 扩展。
我有哪些选择?有没有更简单的语言来完成这个 - 也许是 Python?还是我必须硬着头皮在 C++ 中做到这一点?如果是这样,对于尝试在 C++ 中实现 WinAPI shell 扩展的 .NET 开发人员有什么建议吗?
先感谢您。