• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別プログラムの起動の仕方に関して)

C#で別プログラムを起動する方法

このQ&Aのポイント
  • C#で別プログラムを起動する方法について解説します。
  • C#で複数のプログラムを作成し、メニュー画面から選択したプログラムを起動する仕組みを作りたい場合、以下の方法があります。
  • System.DiagnosticsクラスのProcess.Startメソッドを使用して、プログラムを起動することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.3

◆別フォームで利用したい場合 派生Formクラスを作成し、そのコンストラクターパラメータとして コマンドラインパラメーターを渡せばいいでしょう。 【コーディング例】 ◆受け側例(xxxxx.exe) using System; using System.Drawing; using System.Windows.Forms; static void Main(string[] args) { string margeArg = ""; foreach (string inputArg in args) { margeArg += inputArg; } Application.Run(new testForm(margeArg)); } class testForm : Form { public testForm(string p_margeArg) { this.Width = 200; this.Height = 200; this.Text = p_margeArg; } }

yurix_1
質問者

お礼

ありがとうございました! おかげさまで思い通りの処理ができました!!!

その他の回答 (2)

回答No.2

・引数を渡してプロセスを起動する方法 1. CreateProcess関数 http://msdn.microsoft.com/ja-jp/library/cc429066.aspx lpCommandLineに引数を渡す。 2. ShellExecuteEx(A)関数 http://yokohama.cool.ne.jp/chokuto/urawaza/api/ShellExecuteEx.html SHELLEXECUTEINFO構造体のlpParametersメンバに引数を渡す。 Win32アプリでは、CreateProcess関数を用いること。 ・プログラムが引数を受け取る方法 1. main()関数のargc,argvを使う 2. WinMain()関数の第3引数lpCmdLineを使う 3. GetCommandLine関数 http://msdn.microsoft.com/ja-jp/library/cc429108.aspx

yurix_1
質問者

お礼

ありがとうございます。 参考にさせて頂きます!

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

プログラム間でコマンドラインパラメーターとして受渡しを行います。 ◆渡し側例 Process.Start("C:\\Program Files\\zzzzz\\xxxxx.exe", "AAA BBB CCC") ; 第1引数:実行ファイル名 第2引数:コマンドラインパラメーター(複数ある場合はスペースで区切る) ◆受け側例(xxxxx.exe) static void Main(string[] args) { foreach (string inputArg in args) { Console.WriteLine(inputArg); } } AAA BBB CCC とコンソール出力される。

yurix_1
質問者

補足

ありがとうございました。 取得する事ができました!! もう1点だけ、それに関して質問させて下さい。 受け取った引数を、別フォーム等で利用したい場合はどのように すれば良いでしょうか。。。 C#の初歩的な事かもしれませんが、教えて頂ければ幸いです。 よろしくお願いします。

関連するQ&A