真正最小化另一个应用

时间:2014-08-06 09:17:10

标签: c# minimize

我只想真正做到最小化,所有公共代码都没有以正确的方式最小化!它只是最小化它,如图所示,但不是最小化,就像我点击最小化按钮。我怎么知道的?或者我从中得到什么好处?当我按下最小化按钮时,它会减少CPU使用率! (无论如何,这是一场比赛。)

我的代码是:

    [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 个答案:

答案 0 :(得分:0)

你可以试试这个

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

窗口样式为ShowMinimized = 2,

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