.net Process API未返回ms word进程的所有实例
我正在检查word进程实例,我打开了多个word实例实例,但它只返回word和返回进程的第一个实例。计数1,当我使用记事本作为进程时,它可以工作,但对于winword它不工作.net Process API未返回ms word进程的所有实例,.net,vb.net,process,.net,Vb.net,Process,我正在检查word进程实例,我打开了多个word实例实例,但它只返回word和返回进程的第一个实例。计数1,当我使用记事本作为进程时,它可以工作,但对于winword它不工作 For Each a In p If Not pName.Equals("") And I <= p.Count Then Console.WriteLine(a) Console.WriteLine(p.Count) pName = p(I).MainWind
For Each a In p
If Not pName.Equals("") And I <= p.Count Then
Console.WriteLine(a)
Console.WriteLine(p.Count)
pName = p(I).MainWindowTitle.ToString
File.WriteLine("Word Process Name : {0} is started on time {1}", pName, p(I).StartTime)
fullPath = Path.GetFullPath(pName)
File.WriteLine("Path Of the file is : {0}", fullPath(0))
End If
Next
我已经用Word.Application API解决了这个问题,您可以从参考添加中添加它
Dim wordApp As Microsoft.Office.Interop.Word.Application
wordApp = Marshal.GetActiveObject("Word.Application")
For Each f In wordApp.Documents
pName = Path.GetFileName(f.FullName).ToString()
pPath = f.Path.ToString()
File.WriteLine("Word Process Name : {0} ", pName)
File.WriteLine("File Path is: {0} ", pPath)
File.WriteLine("File Starting Time is {0}", pTime)
Next
您发布的代码似乎列出了磁盘上的文件。是否要查看当前正在运行的word进程?看看这个供参考的窗口和进程不是一回事。Word可以而且通常在同一进程中运行多个文档窗口。您打开的Word实例不超过1个。您可以在任务管理器的“流程”选项卡中看到。Word是一个单实例程序,它太大了。因此,再次启动它只会让第二个实例请求第一个实例打开文档。我已经打开了不止一个Word实例,正如Hans所说,如果你运行Word两次,第二个实例只会将信息传递给第一个实例,告诉它打开一个新窗口,然后退出。您将看到两个窗口,但只有一个winword进程。记事本不能这样做。唯一的例外是,如果您正在运行两个不同版本的Word,但到目前为止您还没有建议您这样做。