Правда минимизация для другого приложения
Я просто хочу сделать по-настоящему минимизированный, все публичные коды не минимизируются правильно! Это просто свернуть, как показано, но не свернуть, как если бы я нажал кнопку "Свернуть". Как я это узнал? Или какую выгоду я получу от этого? Когда я нажимаю кнопку минимизации, это уменьшает загрузку процессора! (Это игра в любом случае.)
Мой код:
[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,