Windows 正在运行的对象表中有多个Word2007引用

Windows 正在运行的对象表中有多个Word2007引用,windows,automation,ms-word,word-2007,dynamic-data-exchange,Windows,Automation,Ms Word,Word 2007,Dynamic Data Exchange,与早期版本(请参阅)相反,我发现Word2007为正在运行的WinWord.exe的每个实例在运行对象表中放置了一个条目。(使用MS VC 6.0附带的IROTVIEW.exe!) 我正在尝试构建一个自动化Word的应用程序,我希望保留一个隐藏的Word实例对用户不可用,同时与一个单独的可见实例共存。有没有办法防止Word在ROT中注册自身,或者确保当用户双击Word文档时,打开文档的是可见实例? 反省一下,也许我应该问一个不同的问题:当广播DDE消息时,有多个窗口具有正确的应用程序名称,是什

与早期版本(请参阅)相反,我发现Word2007为正在运行的WinWord.exe的每个实例在运行对象表中放置了一个条目。(使用MS VC 6.0附带的IROTVIEW.exe!)
我正在尝试构建一个自动化Word的应用程序,我希望保留一个隐藏的Word实例对用户不可用,同时与一个单独的可见实例共存。有没有办法防止Word在ROT中注册自身,或者确保当用户双击Word文档时,打开文档的是可见实例?


反省一下,也许我应该问一个不同的问题:当广播DDE消息时,有多个窗口具有正确的应用程序名称,是什么决定了哪个窗口首先处理消息?我这样问是因为我意识到doc、docx扩展名等的文件关联表示将使用DDE打开文档。

也许我不理解这个问题,但出于所有实际目的,隐藏了一个不可见的实例。用户将无法打开该实例或与之关联的任何文档

Public Sub Test()
    Dim currentDocument As Document

    Dim i As Long
    For i = 1 To 3
        Dim newApplication As Word.Application
        Set newApplication = CreateObject("Word.Application")
        Set currentDocument = newApplication.Documents.Add
        currentDocument.Range.InsertAfter "New instance " & i

        If i = 2 Then
            currentDocument.Windows(1).Visible = False
        Else
            currentDocument.Windows(1).Visible = True
        End If
    Next
End Sub

也许我不明白这个问题,但出于所有实际目的,隐藏了一个不可见的实例。用户将无法打开该实例或与之关联的任何文档

Public Sub Test()
    Dim currentDocument As Document

    Dim i As Long
    For i = 1 To 3
        Dim newApplication As Word.Application
        Set newApplication = CreateObject("Word.Application")
        Set currentDocument = newApplication.Documents.Add
        currentDocument.Range.InsertAfter "New instance " & i

        If i = 2 Then
            currentDocument.Windows(1).Visible = False
        Else
            currentDocument.Windows(1).Visible = True
        End If
    Next
End Sub