.cs
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern IntPtr FindWindow(
string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll")]
private static extern bool IsIconic(IntPtr hWnd);
// ShowWindowAsync関数のパラメータに渡す定義値
private const int SW_RESTORE = 9; // 画面を元の大きさに戻す
// 外部プロセスのメイン・ウィンドウを起動するためのWin32 API
[DllImport("user32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
.cs
//ウインドウ名は、ウインドウの左上に表示される文字列
//WindowsFormApplicationでのForm.Textのこと
//ウインドウ名からウインドウのハンドルを取得する。
IntPtr hWnd = FindWindow(null, "ウインドウ名");
if (hWnd != IntPtr.Zero)
{
//最小化されていれば元に戻す
if (IsIconic(hWnd))
{
ShowWindowAsync(hWnd, SW_RESTORE);
}
//最前面に表示する
SetForegroundWindow(hWnd);
}