Какой язык лучше всего использовать при создании контекстного меню Windows Shell?

Я пишу приложение, которое интегрируется с оболочкой Windows и добавляет дополнительное контекстное меню. И я рассматриваю пару языков, чтобы написать это:

  1. MS .NET — я бы предпочел не использовать управляемый код для этого типа приложений
  2. win32asm - это мой первый выбор
  3. VС++/С++ — не уверен

Так что в основном это выбор между сборкой и С++, у кого-нибудь есть какие-либо мысли или соображения, которые могут облегчить мой выбор?


person keyoke    schedule 11.06.2009    source источник


Ответы (1)


Вы хотите, чтобы контекстные приложения оболочки занимали мало места. Это исключает управляемый код, по крайней мере, на данный момент. Это может несколько говорить в пользу win32asm, хотя библиотеки C++ на самом деле не так уж велики по сравнению со средой выполнения .NET (все говорят, что меньше МБ в наши дни не так уж и много)!

Вы хотите, чтобы контекстные приложения оболочки были стабильными, иначе люди выкинут их, чтобы сохранить свои процессы explorer.exe. Это сильно говорит против win32asm. Если вы знаете, что только вы когда-либо будете поддерживать приложение, и у вас есть отличные навыки ассемблера, win32asm может работать, хотя я бы сам не пошел по этому пути. Вам все равно придется реализовывать COM-интерфейсы, что является достаточно большой головной болью, не добавляя сложностей ассемблерного кода.

Я бы выбрал VC++ с поддержкой ATL, не задумываясь, но с серьезным модульным тестированием и защитой от утечки ресурсов. Но если вы не знакомы с C++ и шаблонами, это может оказаться для вас тернистым путем. С положительной стороны, у вас будет гораздо меньший набор исходного кода для поддержки, и вам будет намного легче найти других, которые помогут или возьмут на себя управление. Возможно, вы также улучшили еще один ценный набор навыков.

person Pontus Gagge    schedule 11.06.2009