另一个应用程序的真正最小化
本文关键字:最小化 应用程序 另一个 | 更新日期: 2023-09-27 18:16:41
我只是想做真正的最小化,所有公共代码都没有以正确的方式最小化!它会最小化,就像图中所示,但不是最小化,比如我点击最小化按钮。我怎么知道的?或者说我能从中得到什么好处?当我按最小化按钮时,它减少了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;
我也尝试了其他方法,它做同样的,只是最小化显示,但不是真正的最小化!:)
你可以试试这个
[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, WindowShowStyle nCmdShow);
与窗口样式为showminimal = 2,
http://www.pinvoke.net/default.aspx/user32.showwindow