どっとねっとふぁん

C# Tips And Samples
in 検索

16.外部プログラムの起動

最新の投稿は、投稿日時: 06-22-2005, 4:17 午後 投稿者: ono です。スレッドには 0 件の返答があります。
投稿のソート: 前へ 次へ
  •  06-22-2005, 4:17 午後 25

    16.外部プログラムの起動

    次のサンプルはnotepadを起動します。
    -------------------------------------------------------
    using System;
    using System.Diagnostics;
    
    public class ProcessTest {
        public static void Main() {
            Process p = Process.Start("notepad.exe");
            Console.WriteLine("notepadを終了しました");
        }
    }
    
    -------------------------------------------------------
    Process.Startに渡す文字列は"notepad"だけでもOKです。

    上記サンプルを実行すると、notepadが表示されると同時に"notepadを終了しました"の文字列もコンソール上に表示されてしまいます。
    notepadの終了を待って文字列を書き出すようにするには以下のようにします。
    -------------------------------------------------------
    using System;
    using System.Diagnostics;
    
    public class ProcessTest {
        public static void Main() {
            Process p = Process.Start("notepad.exe");
            p.WaitForExit();
            Console.WriteLine("notepadを終了しました");
        }
    }
    
    -------------------------------------------------------

    拡張子とプログラムが関連付けられている場合、そのプログラムを利用するファイル名を渡すという方法もとれます。
    下記のサンプルではtxtに関連づけられたプログラム(普通はnotepadかな?)が起動します。
    -------------------------------------------------------
    using System;
    using System.Diagnostics;
    
    public class ProcessTest {
        public static void Main() {
            Process p = Process.Start("test.txt");
            p.WaitForExit();
            Console.WriteLine("notepadを終了しました");
        }
    }
    
    -------------------------------------------------------

    なお、プログラム名と引数を渡すことも可能です。
    次のサンプルではnotepad.exeにtest.txtファイルを渡して起動しています。
    -------------------------------------------------------
    using System;
    using System.Diagnostics;
    
    public class ProcessTest {
        public static void Main() {
            Process p = Process.Start("notepad.exe", "test.txt");
            p.WaitForExit();
            Console.WriteLine("notepadを終了しました");
        }
    }
    
    -------------------------------------------------------


    あおい情報システム株式会社
     小野修司(どっとねっとふぁん)
RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems