*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

<C#>

「Windowsフォームアプリケーションで、コマンドライン引数を指定可能にする」のプロジェクト No.2

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*


「<C#> Windowsフォームアプリケーションで、コマンドライン引数を指定可能にする」

において、ここでは、「起動する側のプロセス」を作るプロジェクトについて説明します。




 



 

元のページ


 

元ページ「<C#> Windowsフォームアプリケーションで、コマンドライン引数を指定可能にする」

 

http://note.chiebukuro.yahoo.co.jp/detail/n181551

 

記述量上限の制限で、ページを分けて記述しています。




 





 

本ページの前のページ


 

「Windowsフォームアプリケーションで、コマンドライン引数を指定可能にする」のプロジェクト No.1

 

http://note.chiebukuro.yahoo.co.jp/detail/n181553

 

記述量上限の制限で、ページを分けて記述しています。







 

はじめに


元ページの

「<C#> Windowsフォームアプリケーションで、コマンドライン引数を指定可能にする」

におけるプロジェクトをここに記述します。
なお、元ページの物は、「起動される側のプロセス」を作るプロジェクトと、「起動する側のプロセス」を作るプロジェクトがあります。
本ページのプロジェクトは、後者の「起動する側のプロセス」を作るプロジェクトです。




 

サンプルコード


ここで取り上げるサンプルは、なるべく複雑にならない範囲で、引数指定のアプリケーションソフトを確かめられるものとします。






本サンプの仕様概要


本サンプルは、「起動される側のプロセス」と、「起動する側のプロセス」との2つのプログラムから構成されます。

本ページは、後者の「起動する側のプロセス」を作るプロジェクトを解説しています。

なお、以下の説明では、区別がわかり難いので、「起動される側のプロセス」にAと記し、「起動する側のプロセス」にBと記すことにします。

 

 

<操作と動作>

まず、「起動する側のプロセスB」を起動すると、そこにはテキストボックスとボタンがあります。

そのテキストボックスに適当な文字列を入力してから、ボタンをクリックすると、プロセスAが起動します。

起動されたプロセスAには、先程プロセスBで入力した文字列が表示されます。

(すなわち、プロセスBからプロセスAを起動するだけではなく、プロセスBからプロセスAへの情報の伝達を行ないます)

 

<アプリケーション名と保管場所>

前ページで作成されたプロセスを、本ページで作るプロセスから起動します。

その際、

C:ProcessBasicSample3_1.exe

と言うファイル名を指定してプロセス起動を行ないます。

よって、前ページで作成されたアプリケーション名は、

ProcessBasicSample3_1.exe

になっている必要があります。

また、前ページで作成されたアプリケーションは、Cドライブの直下に移動(又はコピー)している必要があります。


 

フォームデザイン等の前準備


コードを記述する前に、フォームのデザイン作成などの、以下の前準備を行なって下さい。

<プロジェクトの作成>
本サンプルの確認用に、新規にプロジェクトを作成して下さい。
プロジェクトの種類は、「Windowsフォームアプリケーション」です。

  

<フォームのデザイン>
デザイン画面で、テキストボックス(textBox)を1個と、ボタン(button)を1個貼り付けて下さい。

 

 デザイン画面

 

 

<イベントプロシージャの作成>
デザイン画面のフォームをダブルクリックして、Form1_Load() メソッドを作って下さい。
また、デザイン画面で先ほど貼り付けたボタン1(button1)をダブルクリックして、button1_Click() メソッドを作って下さい。







Form1 クラスのコード



 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


// 「Windowsフォームアプリケーションで、コマンドライン引数を指定可能にする」
//  のプロジェクト No.2
//   --- 起動する側のプロセス
namespace ProcessBasicSample3_2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        //============
        // フォームの起動時に実行されるイベントプロシージャ
        private void Form1_Load(object sender, EventArgs e)
        {
            button1.Text = "起動";
            textBox1.Text = "あいうえお";
        }


        //============
        // ボタンがクリックされた時に実行されるイベントプロシージャ
        private void button1_Click(object sender, EventArgs e)
        {

            // プロセス起動制御用のProcessクラスのオブジェクトを生成
            System.Diagnostics.Process prog = new System.Diagnostics.Process();


            // 起動するプロセスを指定
            prog.StartInfo.FileName = @"C:ProcessBasicSample3_1.exe";


            // コマンドライン引数を指定
            prog.StartInfo.Arguments = textBox1.Text;


            // プロセスの起動開始
            prog.Start();

        }


    }
}




コードの解説


サンプルコードの中に書かれていますコメントを読んで下さい。
すなわち、コードの解説は、基本的にサンプルコードの中に書かれているコメントとします。





実行結果


本ページのプロセスのボタンをクリックすると、「起動される側のプロセス」(前ページのプロセス)が起動します。


 




 

さいごに

 

本ページの内容の詳細については、元ページを参照して下さい。