Как выполнить встраивание иконок "оболочка" в Visual Studio 2010?

Насколько я могу судить, было (по крайней мере?) Три типа встраивания иконок. Существует оригинальный стиль, используемый shell32.dll и друзьями, встраивание.NET и новый тип, который использует WPF. Я ищу способ выполнения первого, так как я хочу, чтобы несколько других значков были доступны в качестве ресурсов для списка переходов, который может принимать только этот стиль. Тем не менее, я не могу понять, как встраивать в этот стиль, только два других.

Как мне это сделать? Все результаты, которые я нахожу в Google и т. Д., Предназначены для добавления значков в файлы ResX или аналогичные.

2 ответа

Решение

Я никогда раньше не слышал термин "встраивание иконок". Если вы говорите о значке, который виден для EXE или DLL в Explorer или ярлыке на рабочем столе: это делается так же, как для любой программы Windows. И WF, и WPF предоставляют сборке неуправляемый ресурс с выбранным значком с помощью параметра компиляции /win32res. Вы можете увидеть это в Visual Studio с помощью File + Open + File, выберите EXE или DLL.

Чтобы создать файл.res, сначала создайте файл.rc. Вы можете создать его с помощью C++ IDE. Щелкните правой кнопкой мыши решение, добавьте новый проект, Visual C++, Win32, консольное приложение Win32. Щелкните правой кнопкой мыши папку Resource Files, Add + Resource, выберите Icon, Import. выберите свой файл. Повторите по мере необходимости. После сборки вы получите файл.res в каталоге проекта Debug.

Вернуться к вашему проекту C#, Project + Properties, вкладка приложения. Выберите опцию Resource File и перейдите к файлу.res.

Я настоятельно рекомендую взглянуть на это решение, размещенное здесь ( http://einaregilsson.com/add-multiple-icons-to-a-dotnet-application/). Он интегрируется прямо в событие посткомпиляции ms build и не требует неуправляемого проекта (для создания сборки из файла.rc /.res).

Это устраняет зависимость от управления вторым решением / сборкой в ​​любое время, когда вы хотите обновить значок, и избавляет вас от IL, сливающего скомпилированную сборку C++.

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

Другие вопросы по тегам