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

  1. using System.Diagnostics;  
  2. using System.Runtime.InteropServices;    
  3. [DllImport("user32.dll")]  
  4. public static extern void SwitchToThisWindow(IntPtr hWnd, bool fAltTab);  
  5. private void button3_Click(object sender, EventArgs e)  
  6. {  
  7.      //string pName= Process.Start("dvdplay.exe").ProcessName;  
  8.      string pName = "dvdplay";//要启动的进程名称,可以在任务管理器里查看,一般是不带.exe后缀的;  
  9.      Process[] temp = Process.GetProcessesByName(pName);//在所有已启动的进程中查找需要的进程;  
  10.      if (temp.Length > 0)//如果查找到  
  11.      {  
  12.          IntPtr handle = temp[0].MainWindowHandle;  
  13.          SwitchToThisWindow(handle, true);    // 激活,显示在最前  
  14.      }  
  15.      else  
  16.      {  
  17.           Process.Start(pName + ".exe");//否则启动进程  
  18.      }  
  19. }  
posted @ 2018-04-03 13:47  xiaobenshi  阅读(1077)  评论(0编辑  收藏  举报