如何将文件夹设置为系统文件夹

How to set a folder as system folder

要以编程方式更改文件夹的图标,我发现需要将文件夹的属性设置为系统文件夹。

我合作过的指南: http://www.codeproject.com/Articles/9331/Create-Icons-for-Folders-in-Windows-Explorer-Using

及相关代码:

File.SetAttributes(folderPath, File.GetAttributes(folderPath) | FileAttributes.System);

查看文档,此函数应该为文件夹路径作为参数抛出异常:

https://msdn.microsoft.com/en-us/library/system.io.file.setattributes%28v=vs.110%29.aspx

这真的是正确的吗API?

另外,设置为系统文件夹会有什么后果?

SetFileAttributes function works both on files and directories, and File.SetAttributes 在下面调用它。所以是正确的API。我没有看到提到在文件夹上引发异常。如果文件夹的路径在网络驱动器上,则有一个,但这仅意味着该函数接受文件夹,而不是坏文件夹。

至于将文件夹属性设置为系统,如果设置为只读,可以说不那么烦人。效果is the same.