C# 如何在进程/应用程序之间传递IntPtr
我有两份申请。 其中一个是WPF应用程序,另一个是sys托盘应用程序。 第一个应该以某种方式将其窗口指针传递给另一个C# 如何在进程/应用程序之间传递IntPtr,c#,.net,intptr,C#,.net,Intptr,我有两份申请。 其中一个是WPF应用程序,另一个是sys托盘应用程序。 第一个应该以某种方式将其窗口指针传递给另一个 IntPtr thisWindowHandle = (new WindowInteropHelper(this)).Handle; 第二个应该接受它并检测WPF应用程序的活动屏幕 Screen activeScreen = Screen.FromHandle(thisWindowHandle); 我的问题是,我们如何在这些应用程序之间发送IntPtr,这有可能吗 谢谢大家!
IntPtr thisWindowHandle = (new WindowInteropHelper(this)).Handle;
第二个应该接受它并检测WPF应用程序的活动屏幕
Screen activeScreen = Screen.FromHandle(thisWindowHandle);
我的问题是,我们如何在这些应用程序之间发送IntPtr
,这有可能吗
谢谢大家! 您可以为此目的使用
另一种方法是,您可以通过窗口的标题找到窗口,而无需像前面提到的那样向其传递IntPtr。可以在同一桌面上的同一会话中运行的进程之间交换窗口句柄。如果你的应用是,比如说,一项服务,它就不起作用了 您需要使用标准的.NET进程互操作机制来传递句柄,如WCF、套接字、命名管道、文件或命令行参数。也许您所需要的只是Process.MainWindowHandle,这样您就不必传递任何东西,这当然是最简单的 请记住故障模式,WPF应用程序崩溃,而“托盘应用程序”继续运行的情况很少有好结果。在通知区域中显示图标不需要单独的过程