C#のアプリケーション上から、他のアプリケーションを起動するには、Processクラスを使用します。
  
Processクラスを利用するには、System.Diagnostics名前空間を導入しておく必要があります。
  
  プロセスを起動する
  プロセスの多重起動を防ぐ
  メールソフトを起動しメールを送る

プロセスを起動する
  
プロセスの起動には、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); //メールソフトを起動し、メールを送付