激活已经启动的程序
// 用于激活已打开的窗体
[DllImport("user32.dll")]
public static extern void SetForegroundWindow(IntPtr hwnd);
// 用于获取当前激活的窗体句柄
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
/**//// <summary>
/// 功能:激活已打开的登录窗体
/// </summary>
/// <remarks>
/// 实现流程
/// 1. 获取当前已运行的所有DMS进程
/// 2. 遍历所获取进程
/// 3. 判断:是否有进程的MainWindowTitle为"登录"
/// 3.1 如果有则调用API:SetForegroundWindow激活该进程的主窗体
/// 3.2 返回true
/// 4. 否则返回false
/// </remarks>
/// <returns>true:已经有打开的登录进程 false: 没有已经打开的登录进程</returns>
public static bool ActiveiseLoginWindow()
{
Process [] proc = Process.GetProcessesByName("YourProcessName");
foreach(Process p in proc)
{
SetForegroundWindow(p.MainWindowHandle);
return true;
}
return false;
}
// 用于激活已打开的窗体
[DllImport("user32.dll")]
public static extern void SetForegroundWindow(IntPtr hwnd);
// 用于获取当前激活的窗体句柄
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
/**//// <summary>
/// 功能:激活已打开的登录窗体
/// </summary>
/// <remarks>
/// 实现流程
/// 1. 获取当前已运行的所有DMS进程
/// 2. 遍历所获取进程
/// 3. 判断:是否有进程的MainWindowTitle为"登录"
/// 3.1 如果有则调用API:SetForegroundWindow激活该进程的主窗体
/// 3.2 返回true
/// 4. 否则返回false
/// </remarks>
/// <returns>true:已经有打开的登录进程 false: 没有已经打开的登录进程</returns>
public static bool ActiveiseLoginWindow()
{
Process [] proc = Process.GetProcessesByName("YourProcessName");
foreach(Process p in proc)
{
SetForegroundWindow(p.MainWindowHandle);
return true;
}
return false;
}