-2

我想制作一个作为服务运行的程序,并根据其文件夹内容更改文件夹图标,就像 svn 一样。如果名称为 example.someextension ,我还想更改文件夹的图标和行为。

我如何以编程方式实现这一点以及哪些命名空间或库可以做到这一点?

4

2 回答 2

2

如果您谈论的是文件系统文件夹,则可以使用 ini 文件设置文件夹的图标。

让您的服务将名为 Desktop.ini的(隐藏和系统)文件写入所需的文件夹,以及您希望该文件夹显示的图标的隐藏副本:

您的文件应包含以下内容:

[.ShellClassInfo]
IconFile=myFolderIcon.ico
IconIndex=0
ConfirmFileOp=0
OriginalIcon=%

Art-Icons 之类的程序使用此机制来允许自定义文件夹。我注意到的唯一缺点是文件夹不一定会立即更新以使用新图标。有时您必须重置图标缓存以强制它显示!

示例:(您的文件夹已经包含图标“folderA.ico”和“folderB.ico”的隐藏副本):

string[] lines = new string[] { "[.ShellClassInfo]", "IconFile=folderA.ico", "IconIndex=0", "ConfirmFileOp=0", "OriginalIcon=%" };

if(!stimulus)
{
   lines[1] = "IconFile=folderB.ico";
}

File.WriteAllLines("Disk:\\MyFolder\\Desktop.ini", lines);
于 2012-10-09T09:35:30.270 回答
1

您可以尝试使用:

祝你好运

于 2012-10-09T09:49:38.590 回答