2009-12-18 64 views

回答

2

我找到了一个方法。我必须将图像添加到SnapIn的SmallImages集合中。

然后每个scopenode都有一个ImageIndex和SelectedImageIndex。您只需将这些属性设置为SmallImages集合的正确索引。

+0

假设这只允许您在加载管理单元后更改图标,但在浏览将哪些管理单元添加到控制台时不影响管理单元图标时,我是否正确? – BlueMonkMN 2015-10-01 18:55:42

3

如果你想要的是提供您的DLL位图在添加/ MMC删除对话框中,你需要指定SnapInAbout属性,并提供资源DLL和身份证位图。

咦?

More complete answer here

而且在MMC SDK示例中,还有工作代码。

+0

谢谢!因为我添加自定义管理单元时,默认图标是一个文件夹。我希望它成为我的一个图标 – pdiddy 2009-12-19 15:48:36

+0

本文解释了所有有关详细信息[添加SnapInAbout](http://binarychef.com/community/Blog/TabId/95/PostId/79/adding-about-information-for-您的网-MMC-管理单元中,图标式最添加或 - 删除 - 管理单元-dialog.aspx)。 – 2016-06-30 10:46:32

3

你不能在C#中做到这一点。你必须创建一个本地的Win32 DLL。换句话说:创建一个C++项目。这不是那么可怕。

一旦添加了Win32项目Visual C++,就可以使用该向导来添加资源文件。 从那里你可以使用工具来添加图标和文字说明。

如果一切正常,您将在文件夹“Header Files”中生成一个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)]  
+0

更不可怕的是从Windows SDK中获取sysmgmt样本,并查看\ mmc3.0 \ LocalizedRegistrationSample,它已将所有设置准备好添加到您自己的管理单元中。 – gbjbaanb 2013-10-09 15:15:32

相关问题