2010-03-22 7 views
8

Sto cercando di aggiungere diverse sovrapposizioni di icone sopra le icone di vari file (nota: non tutti i file di un certo tipo, solo determinati file). Se non capisci cosa intendo, mi riferisco a programmi come TortoiseSVN, TortoiseHG, Dropbox, ecc..NET: Come faccio a creare sovrapposizioni di icone di file

È possibile farlo in .NET? Se é cosi, come? Spero che ci sia una libreria là fuori per questo. Ho trovato this CodeProject article su qualcosa di simile, ma non è .NET.

Grazie in anticipo.

risposta

5

No, non è .NET. La programmazione delle shell è nel dominio di C/C++ non gestito. Shell32.dll dispone di una libreria di tipi che rende disponibili alcune funzioni ai linguaggi di scripting e .NET. Ma l'interfaccia IShellIconOverlay eredita da IUnknown, non accessibile allo scripting. È tecnicamente possibile ma dovrai ridichiarare l'interfaccia in C#, usando come modello la dichiarazione nel file di intestazione ShlObj.h dell'SDK. Qualcuno lo ha fatto da qualche parte, probabilmente, ma è raro cercare di farlo funzionare. Una rapida ricerca su Google non rivela nulla di utile.

Si spera che .NET 4.0 rilanci alcune attività, risolvendo il problema di iniezione della versione CLR. Non ho ancora visto un segno di ciò.

+0

Quindi .NET 4.0 è ora disponibile, è possibile ora? – EaterOfCode

+0

Non è mai stato * impossibile *. Nulla è cambiato da quando ho postato questo, .NET 4.0 non ha riattivato l'attività. Probabilmente perché Microsoft l'ha dichiarato non supportato. –

+1

.NET supporta tutte queste funzionalità, ho quasi finito di implementare tutte le estensioni standard, gli overlay di icone sono qui: http://www.codeproject.com/Articles/545781/NET-Shell-Extensions-Shell-Icon -Overlay mancini –

Problemi correlati