两个不同的WPF应用程序如何在同一台机器上相互通信

时间:2018-02-01 14:02:23

标签: wpf com-interop

想了解一个wpf应用程序如何激活另一个正在运行的应用程序并发送短信。

1 个答案:

答案 0 :(得分:0)

谢谢大家的回复。

事实上,我成功地为自己指出了答案。 PFB的步骤。

  1. 要在没有任何服务连接的情况下在两个WPF应用程序之间进行通信,我使用了Windows中提供的ClipBoard工具
  2. 第一个WPF应用程序将插入需要在ClipBoard中传递的值,如下所示,稍后将激活在托盘中运行的其他WPF应用程序..

    处理[] pname = Process.GetProcessesByName(" APPNAME"); Clipboard.SetText("文本被通过");

    //激活

    Process [] processes = Process.GetProcessesByName(proc); if(pname.Length!= 0) { IntPtr hWnd = processes [0] .MainWindowHandle; SetForegroundWindow(HWND); SetWindowPos(p.MainWindowHandle,HWND_TOP,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); }

  3. 稍后在激活的app ..通过激活的方法我们可以读取如下的值

    string clipboardText = System.Windows.Clipboard.GetText();

  4. 然后清除剪辑

    System.Windows.Clipboard.Clear();
    

    希望这会对某人有所帮助。非常感谢。