4

バックグラウンド

コマンドライン ツールを使用して Office アプリケーション (Word および PowerPoint) を自動化しています。

このツールで実行する必要があることの 1 つは、Word の実行中のすべてのインスタンスを見つけることです。

インスタンスの1つへの参照を取得する方法を知っています...

Object running_obj = null;
{
    running_obj = System.Runtime.InteropServices.Marshal.GetActiveObject(progid);
}
catch (System.Exception)
{
    //failed to find the object;
}
if (running_obj!=null)
{
   var running_obj_type = System.Type.GetTypeFromProgID(progid);
   Microsoft.Office.Interop.Word.Application running_obj_wrapper;
   running_obj_wrapper = 
            (Microsoft.Office.Interop.Word.Application)
            System.Runtime.InteropServices.Marshal.CreateWrapperOfType(
                  running_obj, running_obj_type);
}

私の質問

探しているアプリケーションのインスタンスを 1 つだけではなく、すべて見つける方法。

注: 私の具体的な質問は Office アプリケーションに関するものですが、より一般的な回答に興味があります。

4

1 に答える 1

2

試していません。しかし、それは正しい解決策のように見えます。オリバー・ボックのブログより。

于 2008-12-25T22:29:50.123 に答える