ユーザがファイル(デスクトップなど)を右クリックして「コピー」をクリックします。では、クリップボードにコピーされたファイルが画像タイプであるかどうかをC#でどのように判断するのですか?クリップボードにコピーされたファイルが画像であるかどうかを確認します
Clipboard.ContainsImage()この場合には動作しない
画像は直接ファイルをクリップボードIDataObject d = Clipboard.GetDataObject();
if(d.GetDataPresent(DataFormats.Bitmap))
{
MessageBox.Show("image file found");
}
にコピーされていない場合は、クリップボードにコピーされている場合、以下が決定
私はクリップボードにコピーされた 'ファイル'が画像であるかどうかを判断したいと思います。
編集:回答は素晴らしいですが、クリップボードにコピーされたファイルのファイル名を取得するにはどうすればよいですか? Clipboard.getText()が動作していないようです.. Edit2:Clipboard.GetFileDropList()works
多くの場合、ファイルの拡張子を確認するだけで十分です。しかし、あなたは 'Magic-Bytes'メソッド(CodeInChaosが言ったように)と' Exception Handling'メソッド(Shekhar_Proが言ったように)の両方を使うことができます。また、署名データベースを使ってファイルタイプを決定するために使用できる無料のコマンドラインユーティリティである 'TrID'というツールがあります。 http://mark0.net/soft-trid-e.html – fardjad