如何使用 C# 最小化 IE 浏览器?我尝试了下面提到的代码,但它不起作用:
var processes = Process.GetProcessesByName("*iexplorer.*");
if (processes.Any())
{
var handle = processes.First().MainWindowHandle;
ShowWindow(handle, SW_SHOWMINIMIZED);
}
还有其他方法可以实现IE浏览器最小化吗?
正如达米安所说,没有完全可靠的方法可以做到这一点,因为用户拥有浏览器,而不是你的应用程序。您的代码不起作用,因为您尝试像在 Google 上那样使用通配符 (*),但这在这里不起作用。GetProcessesByName
实际上是在寻找一个名为的进程*iexplorer.*
。您可以通过在此行下方放置一个断点并将鼠标悬停在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);
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)