2009-12-18 94 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

相關問題