[ Foro de C# ]

[c#]InvalidCastException was unhandled

19-Nov-2014 16:06
Invitado (beast_lm)
1 Respuestas

La cuestión es que estoy intentando hacer un programa para contar la duración de vídeos. Al ejecutarlo obtengo este error:

InvalidCastException was unhandled
No se puede convertir el objeto COM del tipo 'System.__ComObject' al tipo de interfaz 'Shell32.Shell'. Ocurrió un error de operación debido a que la llamada QueryInterface en el componente COM para la interfaz con IID '{286E6F1B-7113-4355-9562-96B7E9D64C54}' generó el siguiente error: Interfaz no compatible (Excepción de HRESULT: 0x80004002 (E_NOINTERFACE)).
Este es mi código , gracias de antemano:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Shell32;

namespace cuentavideosconsola
{
    class Program
    {
        static void Main(string[] args)
        {
            double contartiempo = 0;
            Shell32.Shell shell = new Shell32.Shell();
            Shell32.Folder carpeta;

            carpeta = shell.NameSpace(@"D:\");

            foreach(Shell32.FolderItem2 item in carpeta.Items()){
                Console.WriteLine(carpeta.GetDetailsOf(item,27));
                TimeSpan tiempo = TimeSpan.Parse(carpeta.GetDetailsOf(item,27));
                contartiempo += tiempo.TotalSeconds;
            }
            Console.WriteLine("El total de tiempo de los videos es: " + contartiempo);
            Console.ReadLine();
        }
    }
}


19-Jan-2015 23:15
Invitado (leautefb@gmail.com)

Hola Compadre.

adicione esta linea antes del main

[STAThread]

es decir, queda asi:

[STAThread]
static void Main(string[] args)

Saludos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)