Я использую C#, пытаясь восстановить калькулятор Windows 10, когда он сведен к минимуму или работает в фоновом режиме. Я пытаюсь использовать следующий код, но он не работает.Восстановить калькулятор Windows 10 при свертывании или запуске в фоновом режиме
if (calcrunning == true & calcresponding == false)
{
MessageBox.Show("Running but suspended or minimized ");
//RunCalculator();
IntPtr calcwindow = FindWindowByCaption(IntPtr.Zero, "Calculator");
//ResumeProcess(calcwindow.Handle);
//ShowWindow(calcwindow, SW_MINIMIZE);
//ResumeThread(calcwindow);
//calc.Start();
ShowWindow(calcwindow, SW_SHOW);
ShowWindow(calcwindow, SW_RESTORE);
SetForegroundWindow(calcwindow);
}
[DllImport("user32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
[DllImport("kernel32.dll")]
static extern int ResumeThread(IntPtr hThread);
Любые идеи? SetForegroundWindow работает только в том случае, если калькулятор не минимизирован. Это не так, потому что это современное приложение?