c#里面如何激活一个外部程序进程并显示在最前
举例,我已经打开了一个播放器,我用c#里面,如果让这个已经打开的播放器激活显示在最前面.(不能再次打开)...
举例,我已经打开了一个播放器,我用c#里面,如果让这个已经打开的播放器激活显示在最前面.(不能再次打开)
展开
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");//否则启动进程
}
}
//需要引用的
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");//否则启动进程
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询