使用c#更改文件夹图标

问题描述 投票:0回答:0

我有一个代码可以创建一个文件夹并添加 desktop.ini 文件和 icon.ico 文件来更改文件夹图标

            string dir = path;
            string[] lines = { "[.ShellClassInfo]", $"IconResource=Icon.ico,0", "[ViewState]", "Mode=", "Vid=", "FolderType=Pictures" };
            File.WriteAllLines(dir + @"\desktop.ini", lines);
            DirectoryInfo dirInfo = new DirectoryInfo(folderpath + $"\\{name}");

            // Set the directory to read-only
            dirInfo.Attributes |= FileAttributes.ReadOnly;
            DirectoryInfo dirInfo2 = new DirectoryInfo(folderpath + $"\\{name}\\desktop.ini");
            dirInfo2.Attributes |= FileAttributes.ReadOnly;
            DirectoryInfo dirInfo3 = new DirectoryInfo(folderpath + $"\\{name}\\Icon.ico");
            dirInfo3.Attributes |= FileAttributes.ReadOnly;
            //refresh folder
            SHChangeNotify(0x8000000, 0x1000, IntPtr.Zero, IntPtr.Zero);

现在文件夹图标没有变化

enter image description here

但是当我转到文件夹选项时,我看到图标已成功设置

enter image description here和这个

enter image description here 当我使用文件资源管理器将文件夹从它的位置移动时,图标出现

我试图更改文件夹图标 我希望图标出现,但没有出现

c# windows-explorer
© www.soinside.com 2019 - 2024. All rights reserved.