如何以编程方式安全地关闭Google Chrome

时间:2013-01-23 12:26:15

标签: c# .net google-chrome

如何通过C#安全地关闭谷歌浏览器?我可以杀死Chrome进程,但在这种情况下,Google Chrome会在下次运行时报告appcrash。

2 个答案:

答案 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消息。