Правда минимизация для другого приложения

Я просто хочу сделать по-настоящему минимизированный, все публичные коды не минимизируются правильно! Это просто свернуть, как показано, но не свернуть, как если бы я нажал кнопку "Свернуть". Как я это узнал? Или какую выгоду я получу от этого? Когда я нажимаю кнопку минимизации, это уменьшает загрузку процессора! (Это игра в любом случае.)

Мой код:

    [DllImport("User32.Dll", EntryPoint = "PostMessageA", SetLastError = true)]
    public static extern bool PostMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);

    List<int> ProcIDs = new List<int>();
    private void timer1_Tick(object sender, EventArgs e)
    {
        foreach (Process process in Process.GetProcesses())
        {
            if (process.ProcessName == "League of Legends")
            {
               // MinimizeWindow((IntPtr)hProcess);
                if (!ProcIDs.Contains(process.Id))
                {
                    IntPtr hProcess = GetProcessWindow(process.Id);
                    ProcIDs.Add(process.Id);
                    PostMessage(hProcess, WM_SYSCOMMAND, (IntPtr)SC_MINIMIZE, IntPtr.Zero);
                }
            }
        }
}
    const int WM_SYSCOMMAND = 274;
    const int SC_MINIMIZE = 0xF020;

Я также пробовал другие методы, и он делает то же самое, просто сверните, как показывают, но не сверните!:)

1 ответ

Вы можете попробовать это

[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, WindowShowStyle nCmdShow);

со стилем окна как ShowMinimized = 2,

http://www.pinvoke.net/default.aspx/user32.showwindow

Другие вопросы по тегам