Auto Command Line

Command Line で指定されたパラメータを受け取ります。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. このプロジェクトは Windows 8.1(Update 版) & Visual Studio 2005 で開発しています。
    大きな違いはありませんが、開発環境が変われば多少説明と異なる場合があります。
    自動生成を使って、プロジェクトを作成して下さい。
    詳細は 自動生成を使って Form を作成する を参照して下さい。
    プロジェクト名は、規定値で WindowsApplication1 になっています。
  2. ドラッグ&ドロップされたファイル名は、Command Line のパラメータとして渡されます。
    これを受け取って処理することにより、ドラッグ&ドロップ起動や拡張子に関連付けて起動することが出来るようになります。
  3. 自動生成したプロジェクトでは Main()メソッドは Program.cs に記述されています。
    Main()メソッドで引数を受け取る方法は Command Line 引数 を参照して下さい。
    今回は渡されたパラメータの「ある/なし」によって、new Form1() の呼び出し方を変えています。
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            switch (args.Length)
            {   case 0:
                    Application.Run(new Form1());
                    break;
                case 1:
                    Application.Run(new Form1(args[0]));
                    break;
            }
        }
    
  4. new Form1() の呼び出し形式に合わせて Constructor を定義します。
    Form1 の Constructor は Form1.cs で定義されています。
    コンパイル&ビルドで実行すると "引数はありません" が表示されます。
        // Constructor
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                MessageBox.Show("引数はありません");
            }
            public Form1(string str)
            {
                InitializeComponent();
                MessageBox.Show("引数は:" + str);
            }
        }
    
  5. 作成された実行プログラム(\bin\Debug\WindowsApplication1.exe) をデスクトップに置いて、ファイルをドラッグ&ドロップしてみて下さい。
    "引数は:" に続いて渡されたファイル名が表示されます。
    実際のアプリケーションでは、これを受け取って処理することになります。
    アプリの例は Command Line を参照して下さい、

超初心者のプログラム入門(C# Frame Work)