首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想创建一个DeskBand。我必须使用C++吗?

我想创建一个DeskBand。我必须使用C++吗?
EN

Stack Overflow用户
提问于 2013-04-29 15:03:38
回答 1查看 1.1K关注 0票数 2

我想要创建一个DeskBand来在我的C++任务栏上显示一些信息,但是我很难在C++中实现我所需要的功能。我接触C++已经有10-15年了。在过去的7年里,我一直在.NET工作。

在你说之前-我知道DeskBands是反对的。但是建议的替换UI元素--缩略图工具栏--不能满足我的需要。我需要一个用户经常可以看到的UI元素,不管他们切换到哪个应用程序,也需要提供足够的空间来显示一行文本--我可以用30个字符左右的空间过活。

我已经能够从Windows示例中获得DeskBand来编译和运行,但是现在我需要实现一些真正的功能--特别是.

  • 定位AppData\Local文件夹(SHGetKnownFolderPath(FOLDERID_LocalAppData...)
  • 监视XML文件以进行修改。每当文件更改时,我都需要解析和重新绘制。
  • 解析XML文件(我找到了pugixml)
  • 在我的DeskBand中显示XML文件中的一些数据
  • 设置计时器,以便每分钟重新绘制DeskBand一次

..。我意识到我对C++的了解是多么的少,我对.NET的基类库的依赖程度有多大。如果我是用C#编写的话,这个任务对我来说是非常容易的。但我在其他地方学到了您不应该用.NET编写shell扩展

我有什么选择?是否有一种更简单的语言可以在--也许是Python中实现这一点?还是我必须咬紧牙关,在C++上这样做呢?如果是的话,对于试图在.NET中实现WinAPI外壳扩展的WinAPI开发人员有什么建议吗?

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-29 15:58:30

Shell扩展是COM对象,而C++通常是开发COM对象时使用的最佳语言,因为COM主要是为C++设计的,但它不是唯一可能使用的语言。COM具有标准化的体系结构,因此您可以使用支持COM对象开发(Delphi、VB等)的.NET以外的任何语言来开发Win32扩展(类似于Win32 API主要是为C设计的,但任何C兼容的语言都可以访问它)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16281998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档