Я хочу создать DeskBand, чтобы отобразить некоторую информацию на панели задач Windows, но я борюсь с реализацией функций, которые мне нужны на C++. Прошло около 10-15 лет с тех пор, как я коснулся C++. Я работаю полностью в .NET за последние 7 лет.Я хочу создать DeskBand. Должен ли я использовать C++?
Прежде чем вы это скажете - я знаю, что DeskBands устарели. Но предлагаемый элемент пользовательского интерфейса - панели инструментов миниатюр - не соответствуют моим потребностям. Мне нужен элемент пользовательского интерфейса, который постоянно виден для пользователя независимо от того, к какому приложению он переключается, а также предоставляет достаточное пространство для отображения строки текста - я мог бы проехать с местом для 30 символов или около того.
Я был в состоянии получить DeskBand от образца для Windows SDK для компиляции и запуска, но теперь мне нужно реализовать некоторые реальные функциональные возможности - в частности ...
- Нахождение AppData \ Local папку (
SHGetKnownFolderPath(FOLDERID_LocalAppData...
) - Просмотр XML-файла для внесения изменений. Мне нужно разбирать и перерисовывать каждый раз, когда файл изменяется.
- Синтаксический файл XML (я нашел pugixml)
- Отображение некоторые данные из файла XML в моем DeskBand
- Установка таймера перекрасить DeskBand один раз в минуту
... и я понимая, насколько мало я знаю о C++, и насколько я зависеть от библиотеки базового класса .NET. Эта задача была бы очень легкой для меня, если бы я писал ее на C#. Но я узнал в другом месте, что you shouldn't write shell extensions in .NET.
Какие у меня варианты? Есть ли более простой язык для этого - возможно, Python? Или мне нужно просто укусить пулю и сделать это на C++? Если да, то какие-либо рекомендации для разработчика .NET, пытающегося реализовать расширение оболочки WinAPI в C++?
Благодарим вас заблаговременно.
Похоже, что некоторые из моих исследований были устаревшими. Теперь читаем о том, как .NET 4.0 меняет эту ситуацию ... –
Не утруждайте себя попыткой с помощью .NET 4: [Теперь, когда версия 4 .NET Framework поддерживает одновременное время выполнения в процессе, теперь можно писать расширения оболочки в управляемом коде?] (http://blogs.msdn.com/b/oldnewthing/archive/2013/02/22/10396079.aspx). «Ответ по-прежнему нет». –
Если производительность является единственной проблемой, я все равно могу продолжить путь .NET 4.0. Я думаю, что пятисекундная задержка является гораздо менее важной проблемой для загрузки DeskBand, чем для отображения контекстного меню. –