如何檢查我的Visual Basic應用程序的多個實例?當用戶運行應用程序時,我想知道有多少實例已經打開。謝謝。檢查Visual Basic應用程序的多個實例
回答
「最快」的方式將用於System.Diagnostics.Process類來查找特定進程名稱的所有實例,如果您只想獲取進程的數量。
因此,作爲找到「資源管理器」實例的示例,請使用它。
Dim instanceCount As Integer = Process.GetProcessesByName("explorer").Count()
Console.WriteLine(String.Format("{0} Instances Running", instanceCount.ToString()))
Console.ReadLine()
如果您正在尋找可以限制用戶1個實例,那麼我會考慮創建一個名爲互斥並使用防止他人開始。
Visual Basic項目屬性「應用程序」選項卡上有一個「爲單一實例應用程序」複選框,它爲您處理互斥問題。 – 2010-08-30 17:44:12
這個答案的必然結果是確保你沒有命名你的程序「資源管理器」。 – 2010-08-30 17:54:43
好點漢斯! – 2010-08-30 18:11:22
在進程之間共享一個信號量,併爲每個暴發戶添加一個許可證。最直接的方式可能是使用命名信號量。有關詳細信息,請參閱關於http://msdn.microsoft.com/en-us/library/ms682438%28VS.85%29.aspx的備註部分。
我認爲如果他們只是想要點數,這有點矯枉過正。 – 2010-08-30 17:41:43
爲什麼?信號量是併發應用程序最基本的組成部分之一,我不會稱之爲複雜。 – 2010-08-30 17:43:56
一個複雜因素:似乎沒有一個很好的方式來獲得當前的計數而不釋放,所以你需要做一個release/waitforsingleobject來獲得計數。 – 2010-08-30 17:48:17
- 1. Visual Basic 6:應用程序
- 2. 應用程序的多個實例
- 3. 應用程序的多個實例
- 4. Angularjs應用程序的多個實例
- 5. 檢測XBAP應用程序的多個實例
- 6. Windows Phone多個應用程序實例
- 7. CreateProcessAsUser多個應用程序實例?
- 8. 多個Android應用程序實例
- 9. Python web應用程序部署多個應用程序實例
- 10. Visual Basic .Net應用程序部署
- 11. Visual Basic應用程序幫助
- 12. Visual Basic應用程序動畫文本
- 13. 雲應用程序API對於Visual Basic?
- 14. Visual Basic:強制應用程序停止
- 15. Docker中的多實例應用程序
- 16. Vaadin爲單個應用程序啓動多個應用程序實例
- 17. ASP.NET應用程序MSI安裝程序多個實例
- 18. Visual Basic的ATM程序
- 19. Visual Basic的測驗程序
- 20. 的Visual Basic:殺死一個應用程序對象
- 21. Tomcat:可以在多個運行多個應用程序實例
- 22. 多個實例的應用程序 - 每個客戶一個?
- 23. 檢查現有的多個實例
- 24. HttpWebRequest使用應用程序的多個實例
- 25. PicketLink的多個應用程序的單個實例
- 26. 防止Android應用程序開放的多個實例
- 27. 使用應用程序的多個實例的性能改進
- 28. 使用Lucene.Net的應用程序的多個實例
- 29. 單個tomcat和postgres實例上的多個應用程序?
- 30. 每個應用程序模塊的多個記錄器實例
你想這樣做,以防止多個實例啓動? – 2010-08-30 17:38:02