【问题标题】:How to minimize IE Browser using C# ?如何使用 C# 最小化 IE 浏览器?
【发布时间】:2012-09-18 08:42:57
【问题描述】:

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

var processes = Process.GetProcessesByName("*iexplorer.*");

if (processes.Any()) 
{

    var handle = processes.First().MainWindowHandle;
    ShowWindow(handle, SW_SHOWMINIMIZED); 

}

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

【问题讨论】:

标签: c# internet-explorer c#-4.0 window minimize


【解决方案1】:

正如 Damien 所说,由于用户拥有浏览器,而不是您的应用,因此没有万无一失的方法可以做到这一点。您的代码不起作用,因为您尝试像在 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);
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多