既に起動しているプロセスを外部からアクティブにするには
以下のクラスを用います。
Microsoft.VisualBasic.Interaction
このクラスの以下のメソッドを利用して、プロセスをアクティブにします。
AppActivate(int id)
この他にも、winapiを使用してアクティブにするやり方も
あるみたいですが、今回はこれでサンプルをつくってみました。
以下サンプルです。
using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using Microsoft.VisualBasic; namespace Gsf.Samples.CSharp { class EntryPoint { ////// アクティブにするプロセス名 /// const string APP_NAME = "AFX"; ////// アプリケーションメインエントリポイントメソッドです。 /// ////// 特定のアプリケーションをアクティブにします。 /// /// 前提条件として、 /// ・アクティブにするプロセスが予め起動している必要があります。 /// ・APP_NAMEにアクティブにするプロセス名をセットしておいてください。 /// が存在します。 /// static void Main(){ foreach(Process aProcess in Process.GetProcessesByName(APP_NAME)){ // // プロセスをアクティブにする // Interaction.AppActivate(aProcess.Id); } } } }
起動して実行してみると、該当するプロセスがアクティブになり前面に出てきます。