我正在尝试自定义文件夹。主要是控制文件夹图标。这是使用我的自定义设置在该文件夹中创建desktop.ini文件时实现的。现在我想自定义文件夹,而不在该文件夹中进行任何更改(添加/删除)。我怎样才能做到这一点?
任何帮助都会很棒。 提前谢谢。
答案 0 :(得分:2)
我认为没有办法做到这一点但你可以这样做来隐藏desktop.ini文件,即使显示隐藏文件。
StreamWriter sw = new StreamWriter(iniFile);
sw.WriteLine("[.ShellClassInfo]");
sw.WriteLine("IconResource=.\\" + iconPath + ",0");
sw.Close();
File.SetAttributes(filePath, File.GetAttributes(filePath) | FileAttributes.Hidden | FileAttributes.System);
File.SetAttributes(folderPath, File.GetAttributes(folderPath) | FileAttributes.ReadOnly);
我不记得最后一行是否必要,因为我在一年多前写过这段代码。
答案 1 :(得分:0)
实际上这可以在没有任何影响的情况下完成。只是我们必须实现一个Shell Icon Overlay Handler,一个实现 IShellIconOverlayIdentifier 接口的COM对象。这份文件帮了很多忙。 http://www.codeproject.com/Articles/7484/How-to-overlay-an-icon-over-existing-shell-objects