如何查找所有打开的PowerPoint实例C#

时间:2017-04-05 09:10:01

标签: c#

我正在运行集成测试,每次完成测试时我都希望关闭所有PowerPoint实例。目前我的代码似乎只找到当前的PowerPoint进程并关闭它但是在某些情况下我可能会打开2或3个PowerPoints并希望关闭它们。

我的代码如下

为什么它只考虑有一个PowerPoint实例打开的任何想法?

   private static WindowsDriver<WindowsElement> PowerPointSession;

 var capabilities = new DesiredCapabilities();
            capabilities.SetCapability("app", "Root");
            PowerPointSession = new WindowsDriver<WindowsElement>(new Uri(AppDriverUrl), capabilities);
            PowerPointSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));

关闭PowerPoint

public static void TearDown()
{
    var pro = Process.GetProcessesByName("POWERPNT");

    foreach (var item in pro)
    {
        if (PowerPointSession == null) return;
        // Restore original mode before closing down
        PowerPointSession.FindElementByName("Close").Click();
        PowerPointSession.FindElementByName("Don't Save").Click();

        PowerPointSession.Dispose();
    }

1 个答案:

答案 0 :(得分:2)

如果您没有保存已经完成的任何操作,可以将其终止,如:

var p = Process.Start("taskkill", "/im POWERPNT.exe /f");
p.WaitForExit();