Add status icons over file icons in Explorer, like Dropbox or SVN in .NET
I've never play with this, but I think it's the right way.
First make the folder a System Folder, then create a Desktop.ini file and apply the change inside.
[.ShellClassInfo]InfoTip=@Shell32.dll,-12690IconFile=%SystemRoot%\system32\SHELL32.dllIconIndex=-238
For anyone still interessted in this question:
Here is a codeproject link which describes the process in great detail.
It uses the SharpShell library, which can also be found on nuget.
Code, from the codeproject, looks something like that:
[ComVisible(true)]public class ReadOnlyFileIconOverlayHandler : SharpIconOverlayHandler{ protected override int GetPriority() { // The read only icon overlay is very low priority. return 90; } protected override bool CanShowOverlay(string path, FILE_ATTRIBUTE attributes) { try { // Get the file attributes. var fileAttributes = new FileInfo(path); // Return true if the file is read only, meaning we'll show the overlay. return fileAttributes.IsReadOnly; } catch (Exception) { return false; } } protected override System.Drawing.Icon GetOverlayIcon() { // Return the read only icon. return Properties.Resources.ReadOnly; }}