Я хочу создать DeskBand для отображения некоторой информации на панели задач Windows, но я борюсь за реализацию функциональности, которая мне нужна в C ++. Прошло около 10-15 лет с тех пор, как я коснулся C ++. Я работаю полностью в .NET в течение последних 7 лет.
Прежде чем вы это скажете — я знаю, что DeskBands устарели. Но предложенный заменяющий элемент пользовательского интерфейса — панели миниатюр — не отвечают моим потребностям. Мне нужен элемент пользовательского интерфейса, который постоянно виден пользователю независимо от того, на какое приложение он переключается, а также обеспечивает достаточно места для отображения строки текста — я мог бы обойтись с пространством для 30 символов или около того.
Мне удалось получить DeskBand из образца Windows SDK для компиляции и запуска, но теперь мне нужно реализовать некоторые реальные функции — в частности …
SHGetKnownFolderPath(FOLDERID_LocalAppData...
)… и я понимаю, как мало я знаю о C ++ и насколько сильно я зависел от библиотеки базовых классов .NET. Эта задача была бы очень легкой для меня, если бы я писал ее на C #. Но в другом месте я узнал, что Вы не должны писать расширения оболочки в .NET.
Какие у меня варианты? Есть ли более простой язык для этого — возможно, на Python? Или я должен просто прикусить пулю и сделать это в C ++? Если да, то какой совет для разработчика .NET пытается реализовать расширение оболочки WinAPI на C ++?
Заранее спасибо.
Расширения оболочки — это COM-объекты, и C ++, как правило, является лучшим языком для разработки COM-объектов, потому что COM был разработан в первую очередь для C ++, но это не единственный возможный язык. COM имеет стандартизированную архитектуру, поэтому вы можете использовать любой язык, кроме .NET, который поддерживает разработку COM-объектов (Delphi, VB и т. Д.) Для разработки Shell Extensions (аналогично тому, как Win32 API предназначен в первую очередь для C, но любой C-совместимый). язык может получить к нему доступ).
Других решений пока нет …