2014-10-26 124 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