如何使用C#最小化IE浏览器?

如何使用C#最小化IE浏览器? 我尝试下面提到的代码不起作用:

var processes = Process.GetProcessesByName("*iexplorer.*"); if (processes.Any()) { var handle = processes.First().MainWindowHandle; ShowWindow(handle, SW_SHOWMINIMIZED); } 

有没有其他方法可以实现IE浏览器的最小化?

正如Damien所说,由于用户拥有浏览器而不是您的应用程序,因此没有完全可行的方法。 您的代码无效,因为您尝试使用通配符(*),就像在Google上一样,但这不适用于此。 GetProcessesByName实际上是在寻找名为*iexplorer.*的进程。 您可以通过在此行下面放置一个断点来确认这一点,并将processListhover在processList ,它是一个空数组。 将此更改为iexplore可解决此问题。

一些经过测试和运行的代码如下:

 using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { [DllImport("user32.dll")] static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); static void Main() { var processes = Process.GetProcessesByName("iexplore"); foreach (var process in processes) { ShowWindow(process.MainWindowHandle, 2); } } } }