如何打开隐藏但正在运行的ms字实例

时间:2013-05-23 15:47:12

标签: ms-word

我有一个通过Interop打开MSWord的应用

            wrdApp = new Word.Application();
            wrdApp.Visible = false;

因此,在调试时,如果我jsut杀死会话,我将留下一堆WINWORD.EXE * 32运行的实例。

有没有办法让这些实例可见......请记住,创建这些实例的程序已关闭。

是的,正在运行的程序会清理它打开的任何实例。

enter image description here

2 个答案:

答案 0 :(得分:0)

试试这个:

Word.Application App = (Word.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");

如果不起作用,请使用:

System.Type objAppType = System.Type.GetTypeFromProgID("Word.Application");

object objApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");

objAppType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, objApp, null);

答案 1 :(得分:0)

我注意到如果您有一个由interop打开的隐藏Word实例,并且用户使用正常的msword start图标手动打开Msword,则会打开并取消隐藏interop使用的实例。 (并且不应该让用户看到!!)

使用此错误您可以使用它来打开隐藏/放弃的实例。

在interop中你可以拥有多个msword.exe实例,但感觉MS有点过多并且暴露了隐藏的实例。

可能是我和往常一样的错误,MS有一些聪明的想法如何使用隐藏的应用程序,或者你错了隐藏的instaces。超越MSWord的想法和意图。