如何通过C#安全地关闭谷歌浏览器?我可以杀死Chrome进程,但在这种情况下,Google Chrome会在下次运行时报告appcrash。
答案 0 :(得分:9)
您可以使用鲜为人知的UI Automation API,如下所示:
static void CloseAllChromeBrowsers()
{
foreach (Process process in Process.GetProcessesByName("chrome"))
{
if (process.MainWindowHandle == IntPtr.Zero) // some have no UI
continue;
AutomationElement element = AutomationElement.FromHandle(process.MainWindowHandle);
if (element != null)
{
((WindowPattern)element.GetCurrentPattern(WindowPattern.Pattern)).Close();
}
}
}
答案 1 :(得分:2)
您可以尝试使用Process
类确定窗口句柄,并向窗口发送WM_CLOSE
消息。