如何在NET DLL中设置默认图标?

时间:2014-11-25 06:24:53

标签: .net vb.net dll icons

我管理了一个VB.NET ClassLibrary项目并将其编译为DLL。

问题是,这个dll是一个Win32程序的插件,它可以显示DLL的主图标。 看起来这个图标被程序识别为名为MAINICON的资源(对于c ++示例,这在.rc资源文件中描述如下:MAINICON ICON“dllicon.ico”)。

有没有办法在.NET DLL中模拟这种行为?

P.S:我尝试添加图标作为MAINICON命名的嵌入式资源,但它无法识别。 它只显示this default icon(不知道为什么)。

P.P.S:我也得到了这个线索(不确定它是否有帮助),但不知道如何使用它:

  

程序将默认为其资源中编号最小的图标。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有一个访问DLL的应用程序,并且你希望aplkication和DLL使用相同的图标,这是应用程序的图标。我有完全相同的用例。

我的代码的第一行是

GetType(Form).GetField("defaultIcon", BindingFlags.NonPublic Or BindingFlags.[Static]).SetValue(Nothing, My.Resources.ThisAppsIcon)

这假设您已将Resources中的默认图标存储为ThisAppsIcon

几个月前,我把它撕掉了,但是没有把这个URL存储在评论中,所以我无法归因于此。向OP道歉。

我已将此行代码评论为

'纯粹的邪恶