2014-10-26 128 views
0

我希望能夠編寫一個只允許其一個實例的WPF應用程序,但如果用戶打開另一個實例,則第一個實例會打開一個窗口。所以,我需要VB.Net WPF單實例應用程序,第一個新實例打開窗口

  1. 單實例只有WPF應用程序的新實例和原來,它允許新的實例告訴第一個打開的窗口之間
  2. 進程間通信。

我想知道這是否可行,以及如何做到這一點,因爲到目前爲止,谷歌沒有太多的幫助。我已經看到其他問題提出這個問題,但沒有一個真的有幫助(和一些沒有在vb.net,但仍沒有回答這個問題)。我真的很喜歡如何做到這一點的一個適當的例子,因爲即使我一直在使用vb.net,這種東西,我從來沒有遇到過。

回答

1

單實例只有WPF應用程序

您可以使用一個名爲互斥體,以確保只有一個實例在運行,請參閱「make single instance application」 what does this do?(在VB.Net給出的例子)

進程間新實例與原始之間的通信

這裏有很多選項,包括WCF, .Net Remoting和命名管道,請參閱What is the best choice for .NET inter-process communication?

+0

謝謝您的迴應。你知道任何有名的管道教程嗎?對於我想要做的事情,WCF似乎有點過於複雜,而且我無法在命名管道上找到很好的演練。 .NET遠程處理可能會起作用,但這似乎過於複雜,但我會進一步研究它。再次感謝。 – Gorea235 2014-10-28 01:22:11

+0

@ Gorea235對不起,不知道任何命名管道教程。如果是我,我很可能會被誘惑去使用.Net Remoting通過IPC頻道 – 2014-10-28 09:03:05

+0

我會看看.Net Remoting,看看我能理解多少。謝謝您的幫助 – Gorea235 2014-10-29 01:38:34