Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
如何在c#中自定义文件夹而不在该文件夹中创建ini文件?_C#_Visual Studio_Directory - Fatal编程技术网

如何在c#中自定义文件夹而不在该文件夹中创建ini文件?

如何在c#中自定义文件夹而不在该文件夹中创建ini文件?,c#,visual-studio,directory,C#,Visual Studio,Directory,我试图自定义一个文件夹。主要控制文件夹图标。这是在使用我的自定义设置在该文件夹中创建desktop.ini文件时实现的。现在我想自定义文件夹,而不在该文件夹中进行任何更改(添加/删除)。我怎样才能做到这一点 任何帮助都会很好。 提前感谢。我认为没有办法做到这一点,但您可以这样做来隐藏desktop.ini文件,即使显示隐藏的文件 StreamWriter sw = new StreamWriter(iniFile); sw.WriteLine("[.ShellClassInfo]"); sw.

我试图自定义一个文件夹。主要控制文件夹图标。这是在使用我的自定义设置在该文件夹中创建desktop.ini文件时实现的。现在我想自定义文件夹,而不在该文件夹中进行任何更改(添加/删除)。我怎样才能做到这一点

任何帮助都会很好。
提前感谢。

我认为没有办法做到这一点,但您可以这样做来隐藏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);

我不记得最后一行是否有必要,因为我在一年多前写过这段代码。

实际上,这可以在没有文件的情况下完成。只是我们必须实现一个Shell图标覆盖处理程序,一个COM对象,它实现了IShellIconOverlayIdentifier接口。这份文件帮助很大

也许给我们看看代码?然后我们可能会帮助您找出哪些不起作用。在C#中,您不可能必须更新desktop.inifile@roryap代码与第一个答案类似。这很有效。但由于我不应该在文件夹中做任何修改,我正在考虑其他方法来完成它。@DhavalPatel Ok!如果不是c#,还有什么能帮我做到这一点?@dp94:c++或vc++可能会帮你我也这么做了。非常感谢。但即使它是隐藏的,也会对文件夹进行一些不应该进行的修改(添加ini文件)。除了从同一文件夹中控制文件夹的设置外,还有什么方法可以从其他地方(外部)控制该文件夹的设置吗?我认为这是不可能的,因为当您更改文件夹图标时,Windows也会创建desktop.ini文件。实际上,这可以在没有InFile的情况下完成。只是我们必须实现一个Shell图标覆盖处理程序,一个实现IShellIconOverlayIdentifier接口的COM对象。这份文件帮助很大。您确定可以更改文件夹图标吗?似乎,使用这种方法,您可以更改文件上的小图标,而不是文件夹的图标。我很确定编写Shell图标覆盖处理程序会更改文件夹图标。如果您绘制一个大图标,您可能可以覆盖文件夹图标,对:-),但是,不更改desktop.ini文件的动机是什么?