作业帮 > 综合 > 作业

Process问题在C# WindowsForm程序中,想实现这样的功能:if(有正在运行的IE浏览器窗口){//正在运

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 12:48:37
Process问题
在C# WindowsForm程序中,想实现这样的功能:
if(有正在运行的IE浏览器窗口)
{
//正在运行的IE浏览器窗口显示在最前面
}
else
{
//打开并显示IE浏览器
Process.Start("iexplore.exe");
}
请问
//正在运行的IE浏览器窗口显示在最前面
这里怎样实现?
这个我试了不好用
SetForegroundWindow返回的是false
在你的class中加入
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
然后要知道IE浏览器窗口的句柄~ (C#中IntPtr)
可以使用FindWindow获得,也可以使用进程获得.
进程法:
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("iexplore");
然后便可以使用了
if (p.Length > 0)
{
SetForegroundWindow(p[0].MainWindowHandle);
}