El usuario hace clic derecho en un archivo (por ejemplo, en el escritorio) y hace clic en "copiar". ¿Ahora cómo determino en C# si el archivo copiado al portapapeles es un tipo de imagen?Determine si el archivo copiado en el portapapeles es una imagen
Clipboard.ContainsImage() no funciona en este caso
A continuación se determina si una imagen se copia directamente en el portapapeles, no si un archivo se copia en el portapapeles
IDataObject d = Clipboard.GetDataObject();
if(d.GetDataPresent(DataFormats.Bitmap))
{
MessageBox.Show("image file found");
}
Para ser claro Quiero determinar si el 'archivo' copiado al portapapeles es una imagen.
Editar: las respuestas son geniales, pero ¿cómo obtengo el nombre de archivo de un archivo copiado en el portapapeles? Clipboard.getText() no parece funcionar .. Edit2: Clipboard.GetFileDropList() funciona
En muchos casos, la extensión del archivo de comprobación es suficiente. Sin embargo, ambos pueden usar el método 'Magic-Bytes' (como dijo CodeInChaos) y el método' Exception Handling' (como dijo Shekhar_Pro). También hay una herramienta llamada 'TrID' que es una utilidad gratuita de línea de comandos que se puede usar para determinar tipos de archivos usando una base de datos de firmas. http://mark0.net/soft-trid-e.html – fardjad