ドラッグアンドドロップを許可するイメージマネージャーアプリケーションがあります。画像をドラッグするときは、この行を実行して画像のパスと名前を取得します。
public bool GetFileName(out string _filename, DrageventArgs E)
{
_filename = String.Empty;
Array data = ((System.Windows.Forms.IDataObject)e.Data).GetData("FileName") as Array;
...
}
この記事から抜粋したものなので、私のレベルには進んでいないかもしれませんが、かなりうまく機能していて、それを使用するために何ができるかを十分に理解していると思いました。
ただし、正しい画像タイトルを取得するのに問題があります。「Phare.jpg」という画像をドラッグすると、取得した文字列が次のようになるため、「FileName」データが原因である可能性があります。
"C:\Users\\Public\Pictures\SAMPLE~1\LIGHTH~1.JPG".
「LIGHTH」ビットは基本的に「phare」ですが、英語では...少なくとも最初の文字です。たぶん私は正しいデータを引き出していませんか?これを行うためのより良い方法はありますか?引き出してみることができる「FileName」とは異なるデータはありますか?