簡體   English   中英

如何最大化/最小化當前打開的 Firefox window 到 C#

[英]How to maximize/ minimize currently opened Firefox window through C#

我正在嘗試在 C# 中創建一個 windows 表單,我將在其中按下一個按鈕,然后我最小化的 Firefox 選項卡將最大化或至少打開。 我嘗試的所有東西都只是制作了一個新的 Firefox window 而不是打開我現有的一個。 我不知道該怎么做。 我試過 ShowWindowAsync 但我並不真正理解它。

這是我的工作控制台應用程序:

using System;
using System.Linq;
using System.Diagnostics;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("user32.dll")]
    private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

    static void Main()
    {
        var firefox = Process.GetProcessesByName("firefox").FirstOrDefault();
        if (firefox != null)
        {
            SetProcessWindowState(firefox, WindowState.ShowNormal);
        }
    }

    static void SetProcessWindowState(Process process, WindowState windowState)
    {
        ShowWindow(process.MainWindowHandle, (int)windowState);
    }
}

enum WindowState
{
    Maximize = 3, Minimize = 6, ShowNormal = 1
}

有關 ShowWindow 的更多信息,請查看此處

編輯:事實證明,最新版本的 Firefox 在后台運行多個進程:

var firefoxProcesses = Process.GetProcessesByName("firefox");
foreach (var firefox in firefoxProcesses)
{
    SetProcessWindowState(firefox, WindowState.ShowNormal);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM