我想要创建一个DeskBand来在我的C++任务栏上显示一些信息,但是我很难在C++中实现我所需要的功能。我接触C++已经有10-15年了。在过去的7年里,我一直在.NET工作。
在你说之前-我知道DeskBands是反对的。但是建议的替换UI元素--缩略图工具栏--不能满足我的需要。我需要一个用户经常可以看到的UI元素,不管他们切换到哪个应用程序,也需要提供足够的空间来显示一行文本--我可以用30个字符左右的空间过活。
我已经能够从Windows示例中获得DeskBand来编译和运行,但是现在我需要实现一些真正的功能--特别是.
SHGetKnownFolderPath(FOLDERID_LocalAppData...)..。我意识到我对C++的了解是多么的少,我对.NET的基类库的依赖程度有多大。如果我是用C#编写的话,这个任务对我来说是非常容易的。但我在其他地方学到了您不应该用.NET编写shell扩展。
我有什么选择?是否有一种更简单的语言可以在--也许是Python中实现这一点?还是我必须咬紧牙关,在C++上这样做呢?如果是的话,对于试图在.NET中实现WinAPI外壳扩展的WinAPI开发人员有什么建议吗?
提前谢谢你。
发布于 2013-04-29 15:58:30
Shell扩展是COM对象,而C++通常是开发COM对象时使用的最佳语言,因为COM主要是为C++设计的,但它不是唯一可能使用的语言。COM具有标准化的体系结构,因此您可以使用支持COM对象开发(Delphi、VB等)的.NET以外的任何语言来开发Win32扩展(类似于Win32 API主要是为C设计的,但任何C兼容的语言都可以访问它)。
https://stackoverflow.com/questions/16281998
复制相似问题