在C#中更改系统图标

我正在做一个用C#编写的窗口的应用程序。 我希望应用程序更改垃圾桶图标/回收站的图标。 我怎样才能做到这一点?

回收站图标的位置在Windows注册表中定义。

该页面显示在哪里: http : //www.winxptutor.com/rbicon.htm

为了以防万一,我将在这里复制它作为镜像:

回收站图标在注册表中的两个地方定义:

HKEY_CLASSES_ROOT \
CLSID \
{645FF040-5081-101B-9F08-00AA002F954E} \
的DefaultIcon

HKEY_CURRENT_USER \
软件\
微软\
视窗\
当前版本\
资源管理器\
CLSID \
{645FF040-5081-101B-9F08-00AA002F954E} \
的DefaultIcon

默认情况下,这些值使用默认图标指向系统DLL。 (在每个Windows版本中不同)

所以你所需要的就是用你自己的图标把上面两个位置的名字(Default)emptyfull的注册值覆盖到你自己的DLL上,图标就会改变。

C#写入注册表应该很简单,如果需要进一步的帮助,请告诉我们。

这个链接有一些代码(这不是C#,但你可以'transalte'),这将重新定位桌面图标。 您应该能够按照以下代码更改图标本身: http : //www.swissdelphicenter.ch/torry/showcode.php?id=1897

在注册表中也看到:

[HKEY_CLASSES_ROOT \ CLSID {645FF040-5081-101B-9F08-00AA002F954E}]