プロセスを起動する
プロセスの起動には、3つの方法があります。
@ アプリケーション名を指定して起動
アプリケーション(例えば、ペイントなど)を、最初に開くファイルを指定せずに起動(例えば空白で起動)する場合の記述方法です。
using System.Diagnostics;
//Process用
Process.Start("mspaint.exe"); //ペイントを起動
A アプリケーション名と最初に開くファイル名を指定して起動
using System.Diagnostics;
Process.Start("iexplore.exe", "http://www.apfield.com/");
//ブラウザにIEを指定し、アップフィールドホームページを起動
B 最初に開くファイル名のみ指定して起動
アプリケーションの指定を省略した場合、当該ファイルに関連付けられたアプリケーションを起動し、指定ファイルを開きます。
関連付けがなされていない場合は、システムエラーが発生しますので、例外処理を組み合わせておくとよいでしょう。
using System.Diagnostics;
try
{
Process.Start("C:\My Document\Test.doc"); //ドキュメントファイルのフルパスを指定
}
catch
{
MessageBox.Show("起動に失敗しました");} //関連づけられたプロセス(この例ではMSWORD)がない場合表示
}
|
プロセスの多重起動を防ぐ
プ
ロセス起動を安易に行うと、アプリケーションによって、コンピュータ上のメモリが食いつぶされてしまいます。
これを防ぐため、特定のプロセスについて、起動前にプロセスが起動済かどうか検知するコードを記述することをお勧めします。
using System.Diagnostics;
if
(Process.GetProcessesByName("多重起動を防ぎたいアプリケーション名").Length <1)
{
Process.Start("アプリケーション名");
}
|
メールソフトを起動しメールを送る
デフォルトのメールソフトを認識させる場合には、最初に開くファイル名にメール本文を指定します。
using System.Diagnostics;
string ad="information@apfield.com";
string
sj="ここに件名を記述します";
string
bd="ここに本文を記述します";
Process.Start("mailto:"+ad+"?subject="+sj+"&body="+bd);
//メールソフトを起動し、メールを送付
|
|