Alex's Weblog

Weblog di Ermanno Goletto (Codename Alex - A Learning EXperience)
posts - 438, comments - 4214, trackbacks - 294

My Links

News

Il blog è stato
trasferito al
 seguente link:


DevAdmin Blog

Add my blog to Live

Foto

Curriculum Vitae


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo MCTS

Logo MCSA

Logo MCP

Logo Microsoft Certified Business Management Solutions Professional

Microsoft Certified Business Management Solutions Specialist


Logo UGIdotNET UGIdotNET Contributor


Logo UGISS UGISS Contributor


Logo SysAdmin.it SysAdmin.it Staff


Article Categories

Archives

Post Categories

Blogs

Database

Development

Friends

IT

Knowledge Base

Links

MBS

MCP

MVP Sites

User Groups

Virtualization

Ricavare l'icona associata ad un file

Con il .NET Framework 1.0 e 1.1 un modo era ricorrere all'api SHGetFileInfo come descritto nel seguente:
http://support.microsoft.com/kb/319340/en-us

Con l'introduzione del metodo ExtractAssociatedIcon del .Net framework 2.0 è possibile ottenere lo stesso risultato tramite l'utilizzo del registry evitando così l'utilizzo di PInvoke:

    Public Shared Function GetFileExtensionIcon(ByVal fileExtension As String) As System.Drawing.Icon
        Dim defaultIconFile As String = Nothing

        Dim keyExtension As Microsoft.Win32.RegistryKey

        keyExtension = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("." & fileExtension)

        If keyExtension IsNot Nothing Then
            'Lettura program name
            Dim programName As String
            programName = keyExtension.GetValue(String.Empty).ToString

            'Lettura program default icon
            Dim keyProgramDefaultIcon As Microsoft.Win32.RegistryKey
            keyProgramDefaultIcon = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey( _
                programName & "\DefaultIcon")

            If keyProgramDefaultIcon IsNot Nothing Then
                Dim defaultIconValue As String
                defaultIconValue = keyProgramDefaultIcon.GetValue(String.Empty).ToString
                defaultIconFile = defaultIconValue.Split(","c)(0)
            End If
        End If

        'Impostazione a icona di default nel caso non sia stata trovata
        If String.IsNullOrEmpty(defaultIconFile) Then
            defaultIconFile = System.IO.Path.Combine(System.Environment.SystemDirectory, "shell32.dll")
        End If

        Return System.Drawing.Icon.ExtractAssociatedIcon(defaultIconFile)
    End Function

Print | posted on mercoledì 14 giugno 2006 15:28 | Filed Under [ Links Code & Snippet .NET Framework .NET Framework 2.0 ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET