プロが教えるわが家の防犯対策術!

タイトルの通り、Process.Startメソッドで起動するアプリに複数2つ以上の引数を渡し、実行させたいのですが、方法がわかりません。
以下、サンプル1のように引数が1つならいいのですが、
サンプル2のように2つ以上の引数の場合、どうしたらよいでしょうか?ご存知の方、ご教授お願いいたします。

[サンプル1]
Process.start(abc.exe, "c:\abc.txt")

[サンプル2]
Process.start(abc.exe, "c:\abc.txt", "c:\def.txt")

A 回答 (1件)

static methodとしてのProcess.Start()を動かすんですよね。



サンプル1は
Process.Start("abc.exe", @"c:\abc.txt");
だと思います。(第1引数もstringであることに注意)

要するにアプリケーション名とプロセス引数を「文字列として」渡すわけで、
Process.Start("apps", "args");
と書けば、コマンドラインで
>apps args↓
と打つのと同じ動作をするわけです。

なので、
>abc.exe arg1 arg2
と同等のことをやりたければ
Process.Start("abc.exe", "arg1 arg2");
でいけると思います。
    • good
    • 0
この回答へのお礼

ご回答有難う御座います。
Process.Start(variable,"c:\document and settings\my folder\abc b")
といったケースでしか、発生しな問題でした。
このようば場合には、たしか・・
Process.Start(variable,@"""" "c:\document and settings\my folder\abc @"""" b")
といった具合に、問題となる引数の前後に、@"""" を付加することで、問題解決を図る事ができました。
これを付加しない場合では、

【引数1つめ】 : c:\document
【引数2つめ】 : and
【引数3つめ】 : settings\my folder\abc
【引数4つめ】 : b

となってしまいます。

お礼日時:2007/05/31 09:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています