2011-12-02 10 views
8

Necesito extraer la fecha de la columna "Medios creados" (resaltada en verde en mi foto de ejemplo a continuación) usando C#.¿Cómo puedo extraer la fecha de la columna "Medios creados" de un archivo de video?

En mi ejemplo, las columnas "Media Created" y "Date" son exactamente iguales. Sin embargo, hay varios casos en que no lo son. La columna "Media Created" contiene la fecha correcta para cuando el video fue realmente grabado.

See this column?

Aquí es la función que utiliza para obtener la misma. Gracias a Aziz por señalarme en la dirección correcta:

Shell shell = new ShellClass(); 
Folder folder = shell.NameSpace(_File.DirectoryName); 
FolderItem file = folder.ParseName(_File.Name); 

// These are the characters that are not allowing me to parse into a DateTime 
char[] charactersToRemove = new char[] { 
    (char)8206, 
    (char)8207 
}; 

// Getting the "Media Created" label (don't really need this, but what the heck) 
string name = folder.GetDetailsOf(null, 191); 

// Getting the "Media Created" value as a string 
string value = folder.GetDetailsOf(file, 191).Trim(); 

// Removing the suspect characters 
foreach (char c in charactersToRemove) 
    value = value.Replace((c).ToString(), "").Trim(); 

// If the value string is empty, return DateTime.MinValue, otherwise return the "Media Created" date 
return value == string.Empty ? DateTime.MinValue : DateTime.Parse(value); 

Respuesta

3

Las propiedades de archivo largos se pueden obtener mediante el uso de Folder.GetDetailsOf() método. Según este thread, Media Created Date se puede recuperar usando un ID de propiedad de 177.

+0

Eso funcionó perfecto, excepto por algunas cosas. La identificación de la propiedad era 191. Supongo que tiene que ver con el sistema operativo (estoy en Windows 7 de 64 bits). También hubo algunos caracteres extraños en ahí que no quisiera procesar en un DateTime correctamente: (char) 8206 (char) 8207 Pero una vez que fueron despojados a cabo funcionó perfectamente! ¡Muchas gracias! –

+0

He agregado mi función de trabajo al final de mi pregunta. –

Cuestiones relacionadas