C#_exe ファイルにドロップされたファイルのパスを取得

実行ファイルだけでなく、ショートカットドロップした
ファイルパスも取得可。
img ファイルならパス取得後に pictureBox に img を表示したり。

 

ex ) ドロップしたファイル名のフルパスが表示される。

    string[ ] files =Environment.GetCommandLineArgs();
    if (files.Length < 2)
    {
        return;
    }
   MessageBox.Show(files[1]);

files[0] には、は実行ファイルのパスが入っている。

Console.WriteLine は visual studio の時のみ。exe 起動では出ない。

 

return を書かない場合、問題なく起動しているように見えたが ( Debug で起動 )
コンソールに
    例外がスローされました: 'System.IndexOutOfRangeException'
と出たので、return は必要かと ( 多分 )

 

イベント Form_Load ( object sender, EventArgs e ) 内に書くか、
コンストラクタ public Form() の内に書けばよいか、どちらがよいか不明。
どちらも動いた。

 

こちらから。
http://ubichupas.blogspot.jp/2009/09/c.html
https://dobon.net/vb/dotnet/programing/dropfiletoexe.html
https://msdn.microsoft.com/ja-jp/library/system.indexoutofrangeexception(v=vs.110).aspx

 

以上。コマインドライン引数など出てきたがよく分からん。