Изучаю, как предоставить значок для моих пользовательских оснасток mmc.
Язык = С#
Изучаю, как предоставить значок для моих пользовательских оснасток mmc.
Язык = С#
Если вы хотите предоставить растровые изображения для вашей DLL в диалоговом окне «Добавить/удалить» в MMC, вам нужно указать SnapInAbout, укажите ресурсную DLL и идентификатор растрового изображения.
Хм?
Дополнительно полный ответ здесь.
А также в образце MMC SDK есть рабочий код.
Вы не можете сделать это в С#. Вы должны создать родную dll Win32. Другими словами: создайте проект C++. Это не так страшно.
После добавления Win32 Project Visual C++ можно использовать мастер для добавления файла ресурсов. Оттуда вы можете использовать инструменты для добавления значка и текстовых описаний.
Если все пойдет правильно, у вас будет создан файл resource.h в папке «Файлы заголовков». Откройте этот файл, и вы увидите что-то вроде
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by ConsoleResources.rc
//
#define IDB_BITMAP4 101
#define IDB_BITMAP5 102
#define IDI_ICON2 103
#define IDS_COMPANY 104
#define IDS_PRODUCT_NAME 105
#define IDS_DESCRIPTION 106
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 107
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Эти числа 101,... — это числа, которые должны соответствовать атрибуту SnapInAbout, который вы поместили в файл C#.
[SnapInAbout("Your.Unmanaged.dll", ApplicationBaseRelative = true,
VendorId = 104, DisplayNameId = 105, DescriptionId = 106, IconId = 103,
SmallFolderBitmapId = 110, LargeFolderBitmapId = 102,
SmallFolderSelectedBitmapId = 101)]
Я нашел путь. Мне пришлось добавить изображения в коллекцию SmallImages SnapIn.
И тогда у каждого узла области есть ImageIndex и SelectedImageIndex. Все, что вам нужно, это установить для этого свойства правильный индекс коллекции SmallImages.