¿Cómo puedo obtener el ícono del tipo de archivo que muestra el Explorador de Windows?

primera pregunta aquí Estoy desarrollando un programa en C # (.NET 3.5) que muestra los archivos en una vista de lista. Me gustaría que la vista "icono grande" muestre el icono que Windows Explorer usa para ese tipo de archivo, de lo contrario, tendré que usar algún código existente como este:

        private int getFileTypeIconIndex(string fileName)
    {
        string fileLocation = Application.StartupPath + "\\Quarantine\\" + fileName;
        FileInfo fi = new FileInfo(fileLocation);
        switch (fi.Extension)
        {
            case ".pdf":
                return 1;
            case ".doc": case ".docx": case ".docm": case ".dotx":case ".dotm": case ".dot":case ".wpd": case ".wps":
                return 2;
            default:
                return 0;
        }

    }

El código anterior devuelve un número entero que se usa para seleccionar un icono de una lista de imágenes que completé con algunos iconos comunes. Funciona bien, pero necesitaría agregar todas las extensiones bajo el sol. ¿Hay alguna manera mejor? ¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta