現在我有下面的代碼應該顯示在加載事件打開實例的數量VB.net顯示外部程序的多個實例
Class MainWindow
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim processCount As Integer = Process.GetProcessesByName("WinWord").Count()
MessageBox.Show(String.Format("{0} Instances Running", processCount.ToString()))
End Sub
End Class
不過,如果我使用Word的兩個實例運行程序,它只顯示1.這是由於Windows 8/7如何處理實例?在任務管理器中,我看到了這個過程(Microsoft Word(32-bit)(2)),這對我來說意味着2個單詞是開放的,對嗎?!?!
那麼我的代碼有什麼問題?如果你的例子在C#中,這很好!
我甚至嘗試此點心實例()作爲工藝= Process.GetProcessesByName( 「WINWORD」) 對於每個實例作爲的System.Diagnostics.Process在實例中InstanceCount = 1 下一步。其中如果我有兩個WinWord實例,它仍然只顯示1. TextBlock1.Text = InstanceCount –
我運行了你的代碼/場景,並沒有遇到問題。我得到2,甚至玩過定時,在運行時開始一個新的進程,GetProcessesByName肯定會重新查詢當前正在運行的內容。還有其他的東西是你的代碼的其他部分在做什麼或者是否包含了可能導致這種行爲的東西? –
嗯沒有。只是從加載事件中運行它。查看上面更新的代碼。我正在運行Windows 8.這可能是原因。讓我試着運行其他程序,看看我看到了多少個實例。 –