c#里面如何激活一个外部程序进程并显示在最前

2025-04-07 02:03:41
推荐回答(1个)
回答1:

简单写一下。
//需要引用的
using System.Diagnostics;
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern void SwitchToThisWindow(IntPtr hWnd, bool fAltTab);
private void button3_Click(object sender, EventArgs e)
{
//string pName= Process.Start("dvdplay.exe").ProcessName;
string pName = "dvdplay";//要启动的进程名称,可以在任务管理器里查看,一般是不带.exe后缀的;
Process[] temp = Process.GetProcessesByName(pName);//在所有已启动的进程中查找需要的进程;
if (temp.Length > 0)//如果查找到
{
IntPtr handle = temp[0].MainWindowHandle;
SwitchToThisWindow(handle, true); // 激活,显示在最前
}
else
{
Process.Start(pName + ".exe");//否则启动进程
}

}