如何使用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.*
的进程。 您可以通过在此行下面放置一个断点来确认这一点,并将processList
hover在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); } } } }