[ Foro de C# ]
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();
}
}
}
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.)