c#里面如何激活一个外部程序进程并显示在最前
- 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");//否则启动进程
- }
- }