プログラム

C#プログラミングレッスン

C#での .NETプログラミングを易しく丁寧に解説するメールマガジンです。「C#プログラミング・レッスン」で、.NETプログラミングをマスターしましょう。

全て表示する >

【C#プログラミングレッスン】 No.141-Process(2)

2007/09/18

┏━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━┳━┓
┃☆┃ C#プログラミングレッスン                         ┃_┃□┃×┃
┣━┻━━━━━━━━━━━━━━━━━━━━━━━━━┻━┻━┻━┫
┃ Process(2)                                                 No.141┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

★お知らせ★
すでに、ブログで書きましたが、Gushwell's C# Programing Page --「窓際
プログラマーの独り言」別館(http://gushwell.ifdef.jp/)というサイトを
立ち上げました。
ここで、メールマガジン「C# プログラミングレッスン」の過去の記事をダウン
ロードできるようにする予定です。すでに、「入門編」と「オブジェクト指向
編」がダウンロード可能です。
気が向いたら、訪れてみてください。


■──────────────────────────────────
■ Process.StartInfoプロパティ

StartInfoプロパティを使うことで、もう少し細かな制御が可能になります。

まずは、前回のコードを別の方法で書いてみます。(終了待ちのコードは省略)

Process process = new Process();
process.StartInfo.FileName = @"notepad.exe";
process.Start();

今回は、Process インスタンスを生成し、StartInfo.FileName で起動する exe
ファイルを指定してから、Start インスタンスメソッドを呼び出しています。
 ※「notepad.exe」のあるディレクトリは、PATH が通っているので、ディレク
   トリを指定しなくても起動できます。

StartInfo には、FileName 以外に、以下のようなプロパティが用意されていま
す。

 Arguments (string)
   使用するコマンド ライン引数
 WindowStyle プロパティ  (ProcessWindowStyle 型)
   ウィンドウの状態を設定
 WorkingDirectory プロパティ? (string)
    起動するプロセスの作業ディレクトリを設定
 ErrorDialog (bool)
    プロセスを起動できなかったときにエラー ダイアログ ボックスを
    表示するかどうかを示す。
 Verb プロパティ (string)
   ドキュメントに対する動作
   “Open, ”“Print”, “Edit”, “Play”など
   これらの文字列は、ドキュメントの種類によって異なる。


■──────────────────────────────────
■ サンプルコード

これらのいくつかを使ったサンプルコードを以下に示します。

---- サンプルコード1 -----------------------------------------------


 Process process = new Process();
 process.StartInfo.FileName = @"notepad.exe";
 process.StartInfo.Arguments = @"D:\temp\Sample.txt";
 process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
 process.StartInfo.ErrorDialog = true;  // (*)
 try {
     process.Start();
 } catch {
     ;
 }
---------------------------

起動に失敗した時には、デフォルトのエラーダイアログを表示しています。
もし、独自のエラー処理をしたい場合には、(*) の行を削除し、
catchブロックの中で、エラー処理を書いてください。


---- サンプルコード2 -----------------------------------------------
 Process process = new Process();
 process.StartInfo.FileName = @"C:\WINDOWS\Media\Windows XP Startup.wav";
 process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
 process.StartInfo.ErrorDialog = true;
 process.StartInfo.Verb = "Play";
 try {
     process.Start();
 } catch {
     ;
 }
---------------------------

これは、エクスプローラで、wav ファイルを右クリックし、「再生」を選んだ
時と同じ動作になります。

┌─┬─────────────────────────┬─┬─┬─┐
│☆│ C#プログラミングレッスン  (ぼぼ週刊)            │_│□│×│
├─┴─────────────────────────┴─┴─┴─┤
│ Published by Gushwell.                                           │
│ Copyright (C) 2004-2007 Gushwell All rights reserved.            │
│ Microsoft MVP Visual Developer - Visual C#(Apr 2005 - Mar 2008)  │
│-------------------- Gushwell's Page ---------------------------- │
│ 窓際プログラマーの独り言  :http://blog.livedoor.jp/gushwell/    │
│ 窓際プログラマーの読書三昧:http://gushwell.jugem.jp/            │
│ Gushwell's C# Programing Page:http://gushwell.ifdef.jp/         │
│ C#デザインパターン :                                             │
│  『増補改訂版Java言語で学ぶデザインパターン入門 / 結城 浩(著)』  │
│   のサンプルコードをC#に移植したものを掲載しています。           │
│   移植後のコードの公開は、結城氏の了解を得ています。             │
│   http://blog.livedoor.jp/gushwell/archives/50333227.html        │
└─────────────────────────────────┘

規約に同意してこのメルマガに登録/解除する

メルマガ情報

創刊日:2004-08-12  
最終発行日:  
発行周期:ほぼ週刊  
Score!: 非表示   

コメント一覧コメントを書く

この記事にコメントを書く

上の画像で表示されている文字を半角英数で入力してください。

※コメントの内容はこのページに公開されます。発行者さんだけが閲覧できるものではありません。 コメントの投稿時は投稿者規約への同意が必要です。

  • コメントはありません。