1

開いているすべてのパワーポイント プロセスを強制終了しようとしていますが、私が書いたコードは開いているプロセスを 1 つだけ強制終了します。

    '-- get a collection of processes running
    Dim foo() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcesses
    '-- go through each one looking for the internet explorer name
    For Each temp As Diagnostics.Process In foo

        'For Word Files opened in Office
        If temp.ProcessName = "POWERPNT" Then
            temp.Kill() '-- if I find it, kill it.
            '                Exit For '-- exit the for loop
        End If
4

2 に答える 2

1

試す

Dim foo() as process = Process.GetProcessByName("POWERPNT")

For Each temp As Process In foo

    temp.Kill()

Next
于 2013-08-20T04:50:21.047 に答える
0

の 1 つのインスタンスのみを検索しますPOWERPNT.exe

Word (Winword.exe)、Excel (Excel.exe)、および Microsoft Access (MSAccess.exe) の複数のインスタンスを同時に実行できます。したがって、これらのサーバーは単一使用 (複数インスタンス) サーバーとして定義されます。一度に実行できる PowerPoint のインスタンス (Powerpnt.exe) は 1 つだけです。したがって、PowerPoint はマルチユース (単一インスタンス) サーバーです。

完全なドキュメントについては、「Visual C# を使用して実行中の Office プログラムのインスタンスを自動化する方法」を参照してください。

于 2013-08-19T18:20:13.770 に答える