C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

System.Diagnostics.Process.Startについて


(過去ログ 6 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■6263 / inTopicNo.1)  System.Diagnostics.Process.Startについて
  
□投稿者/ 桜 二等兵(11回)-(2006/09/04(Mon) 21:07:35)

分類:[VB.NET] 


分類:[VB.NET] 

いつもお世話になっています。
桜といいます。

【開発環境】
WindowsXP
VB2005

【質問内容】
ログファイルを指定したエディタで開きたい場合に
以下のようなコードを記述しました。
System.Diagnostics.Process.Start("Notepad",ファイル名)
上記の場合は、正しく起動できるのですが、
"Notepad"の部分を"Note"などと記述していると、
システムエラーとなります。
"Notepad"の部分はiniファイルより読み込む値になっています。
iniファイルは変更可能ですので、間違えて記述される恐れがあります。
システムエラーにせず、対処したいのですが、分かりません。
どなたかご教授をよろしくお願い致します。


0
引用返信 編集キー/
■6266 / inTopicNo.2)  Re[1]: System.Diagnostics.Process.Startについて
□投稿者/ ダッチ 二等兵(2回)-(2006/09/04(Mon) 22:28:39)

分類:[VB.NET] 

ダッチです。

> ログファイルを指定したエディタで開きたい場合に
> 以下のようなコードを記述しました。
> System.Diagnostics.Process.Start("Notepad",ファイル名)

ヘルプを読むと Process.Start の引数が二つの場合は

MSDNより引用-----------------------
fileName
プロセスで実行するアプリケーション ファイルの名前。

arguments
プロセスを起動するときに渡すコマンド ライン引数。
-----------------------------------
となっています。
第一引数が fileName
第二引数が arguments

桜さんのコードですと、
fileName に ini ファイルで設定したエディタ
arguments に関連して開きたいファイルパス
ということですよね。

であれば、ini ファイルで設定したエディタのパスが有効かどうかを
検証してみるとシステムエラーにならないと思います。
ついでに arguments のファイルも検証するといいと思います。

検証する方法は
System.IO.File.Exists("ファイルパス")
でファイルの存在確認をするといいと思います。



0
引用返信 編集キー/
■6287 / inTopicNo.3)  Re[1]: System.Diagnostics.Process.Startについて
□投稿者/ 渋木宏明(ひどり) 二等兵(7回)-(2006/09/05(Tue) 10:45:54)
渋木宏明(ひどり) さんの Web サイト

分類:[VB.NET] 

> システムエラーにせず、対処したいのですが、分かりません。

try ~ catch で例外を捕捉してください。

>であれば、ini ファイルで設定したエディタのパスが有効かどうかを
>検証してみるとシステムエラーにならないと思います。

ちょっと弱いかも。

書き間違えを考慮に入れるくらいなら、.ini に、フルパスを記述してくれないことも考慮しないといけないかと。


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -