Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VB.NET更改程序图标_Vb.net_Icons - Fatal编程技术网

使用VB.NET更改程序图标

使用VB.NET更改程序图标,vb.net,icons,Vb.net,Icons,我正在VB.NET中创建一个文件管理器。我在应用程序的项目资源中包含了一些图标。如何让我的用户能够使用VB.NET中包含的图标更改桌面上文件、文档等的图标?“有了上述基础设施,并支持所有资源中最复杂的版本资源结构,就有可能将库扩展到24种其他已知资源类型中的一种。我们从图标开始 扩展库以支持图标意味着实现图标存储的数据结构并连接ResourceInfo回调。当ResourceInfo遇到类型为14(RT_GROUP_图标)的资源时,它将创建类型为IConDirectory资源的对象。后者创建Ic

我正在VB.NET中创建一个文件管理器。我在应用程序的项目资源中包含了一些图标。如何让我的用户能够使用VB.NET中包含的图标更改桌面上文件、文档等的图标?

“有了上述基础设施,并支持所有资源中最复杂的版本资源结构,就有可能将库扩展到24种其他已知资源类型中的一种。我们从图标开始

扩展库以支持图标意味着实现图标存储的数据结构并连接ResourceInfo回调。当ResourceInfo遇到类型为14(RT_GROUP_图标)的资源时,它将创建类型为IConDirectory资源的对象。后者创建IconResource,加载DeviceIndependentBitmap

•IconDirectoryResource表示RT_组_图标,图标资源的集合

•IconResource表示带有一个或多个图像的单个RT_图标

•DeviceIndependentBitmap不是资源,而是以图标资源定义的偏移量嵌入文件中的原始数据,表示.bmp格式的单个图标位图

为了将现有图标从.ico文件嵌入可执行文件(.exe或.dll),我们加载.ico文件并将其转换为IconDirectoryResource。.ico文件中的结构类似于可执行文件中图标的结构。唯一的区别是可执行文件头存储图标ID,而.ico头包含图标数据的偏移量。有关实现的详细信息,请参见IconFile和IconFileIcon类。IconDirectoryResource将写入目标文件,然后分别写入每个图标资源。请注意,当前的实现将替换可执行文件中具有相同Id的图标,但如果您存储的图标图像少于以前的数字,则不会删除旧图标-这可能是应该的,因为这些图标成为孤立图标

将库扩展到图标的方便性验证了我们最初的设计模型。”

摘自Ranhiru Cooray的链接,以便于查看。归功于他。

看看这个库。