激活已经运行的程序或调用已经启动的程序,并弹出主窗体。

本文介绍了一种通过C#调用API实现激活已打开登录窗体的方法。具体步骤包括:获取所有指定名称的进程,遍历这些进程并查找主窗口标题为登录的进程,找到后使用SetForegroundWindow函数激活此进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ContractedBlock.gifExpandedBlockStart.gif激活已经启动的程序
None.gif        // 用于激活已打开的窗体
None.gif
        [DllImport("user32.dll")]
None.gif        
public static extern void SetForegroundWindow(IntPtr hwnd);
None.gif
None.gif        
// 用于获取当前激活的窗体句柄
None.gif
        [DllImport("user32.dll")]
None.gif        
public static extern IntPtr GetForegroundWindow();
None.gif
ExpandedBlockStart.gifContractedBlock.gif        
/**//// <summary>
InBlock.gif        
/// 功能:激活已打开的登录窗体
InBlock.gif        
/// </summary>
InBlock.gif        
/// <remarks>
InBlock.gif        
///    实现流程
InBlock.gif        
///        1. 获取当前已运行的所有DMS进程
InBlock.gif        
///        2. 遍历所获取进程
InBlock.gif        
///        3. 判断:是否有进程的MainWindowTitle为"登录"
InBlock.gif        
///            3.1 如果有则调用API:SetForegroundWindow激活该进程的主窗体
InBlock.gif        
///            3.2 返回true
InBlock.gif        
///        4. 否则返回false
InBlock.gif        
/// </remarks>
ExpandedBlockEnd.gif        
/// <returns>true:已经有打开的登录进程 false: 没有已经打开的登录进程</returns>

None.gif        public static bool ActiveiseLoginWindow()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            Process [] proc 
= Process.GetProcessesByName("YourProcessName");
InBlock.gif
InBlock.gif            
foreach(Process p in proc)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                    SetForegroundWindow(p.MainWindowHandle);
InBlock.gif                    
return true;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
InBlock.gif            
return false;
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/hanguoji/archive/2006/09/01/492153.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值