L'utente fa clic con il pulsante destro del mouse su un file (ad esempio sul desktop) e fa clic su "copia". Ora come faccio a determinare in C# se il file copiato negli Appunti è un tipo di immagine?Determina se il file copiato negli Appunti è un'immagine
Clipboard.ContainsImage() non funziona in questo caso
Di seguito determina se un'immagine è direttamente copiato negli appunti, non se un file viene copiato nella clipboard
IDataObject d = Clipboard.GetDataObject();
if(d.GetDataPresent(DataFormats.Bitmap))
{
MessageBox.Show("image file found");
}
Per sia chiaro voglio determinare se il 'file' copiato negli appunti è un'immagine.
Modifica: le risposte sono ottime, ma come si ottiene il nome file di un file copiato negli Appunti? Clipboard.getText() non sembra funzionare .. Edit2: Clipboard.GetFileDropList() funziona
In molti casi, è sufficiente controllare l'estensione del file. Comunque puoi usare entrambi il metodo 'Magic-Bytes' (come detto da CodeInChaos) e il metodo' Exception Handling' (come ha detto Shekhar_Pro). Inoltre c'è uno strumento chiamato 'TrID', che è un'utilità di riga di comando libera che può essere utilizzata per determinare i tipi di file utilizzando un database delle firme. http://mark0.net/soft-trid-e.html – fardjad