- - PR -
VB.net2003にて外部アプリケーションに複数の引数を渡したい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-29 10:26
こんにちは。
どうしてもわからないことがあったので、投稿させて頂きました。 くだらない質問かもしれませんが、よろしくお願いします。 VB.net2003、windowsフォームにて外部アプリケーション起動のプログラムを作成しています。 このプログラムは、 ボタンをクリック ↓ フリーソフト「アタッシェケース」を起動。 現在のプログラム Dim psi As New System.Diagnostics.ProcessStartInfo psi.FileName = "D:¥AtchCase.exe" '起動するアプリケーションを指定 psi.Arguments() = "D:¥test.txt" 'その際に引き渡すファイルを指定 System.Diagnostics.Process.Start(psi) '実行 となっているのですが、さらに引数を引き渡したいのです。 現在、引き渡している引数は psi.Arguments() = "D:¥test.txt" 'その際に引き渡すファイルを指定 だけなのですが、更にもう一つ引数を渡したいのです。 上記内容を実現したいのですが何か良い方法がありませんでしょうか? もしあるのであればご教授を乞いたい思いであります。 このような内容で申し訳ありませんが、内容を理解して頂けたらと思います。 どうかよろしくお願いします。 | ||||||||
|
投稿日時: 2008-09-29 11:11
はずしているかもしれませんが、
psi.Arguments() = "D:¥test.txt" を psi.Arguments() = "D:¥test.txt E:¥test.txt" というふうに半角スペースで区切った引数を渡してあげればできるのではないでしょうか? | ||||||||
|
投稿日時: 2008-09-29 12:01
C# では
psi.Arguments = new string[] {@"D:¥test.txt", @"E:¥test.txt"}; [ メッセージ編集済み 編集者: Jitta 編集日時 2008-09-29 12:02 ] | ||||||||
|
投稿日時: 2008-09-29 12:45
System.Diagnostics.ProcessStartInfo.Arguments プロパティ
Arguments プロパティはメソッドでも配列でもないので妙な括弧をつけるのはやめましょう。 配列に見えてしまいます。 複数のコマンドライン引数を渡すには、 psi.Arguments = """D:\test.txt"" ""D:\test2.txt""" とするのが正しいです。 ファイルパスには空白文字が含まれることがありますから (例: C:\Program Files\) こうしないと 1 つの引数が複数にバラけてしまいます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-10-01 12:52
Katzeさん、Jittaさん、じゃんぬねっとさん。
本当にありがとうございます。 みなさまの指摘を参考にした結果、無事に解決いたしました。 本当にありがとうございました。 |
1