-
激活已经运行的程序或调用已经启动的程序,并弹出主窗体。
![](/Images/OutliningIndicators/ContractedBlock.gif)
激活已经启动的程序
// 用于激活已打开的窗体
[DllImport("user32.dll")]
public static extern void SetForegroundWindow(IntPtr hwnd);
![](/Images/OutliningIndicators/None.gif)
// 用于获取当前激活的窗体句柄
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <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()
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
Process [] proc = Process.GetProcessesByName("YourProcessName");
![](/Images/OutliningIndicators/InBlock.gif)
foreach(Process p in proc)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
SetForegroundWindow(p.MainWindowHandle);
return true;
}
return false;
}
-
相关阅读:
剑指 Offer 51. 数组中的逆序对
剑指 Offer 68
剑指 Offer 68
JS绑定事件三种方式
图片懒加载原理及实现
资源加载过程
了解JS单线程和任务队列!
JS函数作用域提升
JS函数种类详解
ES6之模版字符串
-
原文地址:https://www.cnblogs.com/hanguoji/p/492153.html
Copyright © 2020-2023
润新知