我有WPF应用程序。我的应用程序包含2个exe文件:Notifier.exe和MainApp.exe。 通知程序是系统托盘弹出应用程序,它以相等的间隔检查远程服务器并获取用户的当前文档列表。当用户单击“通知”弹出窗口中的列表中的一个文档时,我打开MainApp.exe并在新选项卡中显示所需文档。但是当用户单击列表中的另一个文档时,它会打开新的MainApp.exe进程。 问题:如何在操作系统中连接特定的(已打开的)进程并在其中创建一些对象?
答案 0 :(得分:0)
让MainApp充当 TCP 服务器,Notifier充当客户端。通知程序应通过tcp会话发送文档信息。如果MainApp未运行,则Notifier可以通过Process.Start()启动MainApp。
答案 1 :(得分:0)
我记得在VB.Net中有一个技巧只允许应用程序的一个实例,不知何故这不是C#,我在某处读到它。
您需要向应该打开新文档的WPF项目发送消息,我建议使用WCF执行此操作,创建可以向需要打开文档的WPF应用程序发送命令的服务
答案 2 :(得分:0)
您可以使用named pipes (WCF)将数据从一个实例传输到另一个实例。