0

カスタムmmcスナップインのアイコンを提供する方法を調べています。

言語=c#

4

3 に答える 3

3

これは C# では実行できません。ネイティブの Win32 dll を作成する必要があります。つまり、C++ プロジェクトを作成します。これはそれほど怖くない。

Win32 Project Visual C++ を追加したら、ウィザードを使用してリソース ファイルを追加できます。そこから、ツールを使用してアイコンとテキストの説明を追加できます。

すべてが正しければ、resource.h ファイルが "Header Files" フォルダに生成されます。そのファイルを開くと、次のようなものが表示されます

//{{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,... は、C# ファイルに配置した SnapInAbout 属性に対応する必要がある数字です。

[SnapInAbout("Your.Unmanaged.dll", ApplicationBaseRelative = true, 
 VendorId = 104, DisplayNameId = 105, DescriptionId = 106, IconId = 103,
 SmallFolderBitmapId = 110, LargeFolderBitmapId = 102, 
 SmallFolderSelectedBitmapId = 101)]    
于 2010-03-17T13:17:49.803 に答える
3

MMC の [追加と削除] ダイアログで DLL のビットマップを提供する必要がある場合は、SnapInAbout属性を指定し、リソース DLL とビットマップの ID を提供する必要があります。

は?

ここでより完全な答え

また、MMC SDK サンプルには、動作するコードがあります。

于 2009-12-19T01:34:33.597 に答える
2

私は方法を発見しました。SnapIn の SmallImages コレクションに画像を追加する必要がありました。

そして、各スコープノードには ImageIndex と SelectedImageIndex があります。これらのプロパティを SmallImages コレクションの正しいインデックスに設定するだけです。

于 2009-12-22T14:12:52.213 に答える