WPF 进程间传递参数

WPF
进程间传递参数

在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start(“软件路径”)可以启动另一个软件。如果在这个过程中还需要传递一些参数给新启动的软件,可以通过WPF中的Application_Startup来完成:

首先,在需要启动的WPF项目中的APP中注册Application_Startup事件:


private void Application_Startup(object sender, StartupEventArgs e)
{
if (e.Args.Length == 1)
{
String s = e.Args[0];
}
}

这样字符串s就可以得到主程序传过来的参数,可以把这个参数放在Properties中供MainPage调用:

修改App中代码为:


private void Application_Startup(object sender, StartupEventArgs e)
{
if (e.Args.Length == 1)
{
this.Properties["Test"] = e.Args[0];
}
}

在MainPage中:

txt.Text =
Application.Current.Properties["Test"].ToString();

那么主程序如何在启动附程序时传递参数呢?

 private void Button_Click_1(object sender, RoutedEventArgs e)
{
string path = Directory.GetCurrentDirectory() + @"\WpfApplication1.exe";
if (string.IsNullOrEmpty(path) || !File.Exists(path)) return;
Process.Start(path,"测试字符串");
}

WPF 进程间传递参数,布布扣,bubuko.com

时间: 2024-11-05 13:46:15

WPF 进程间传递参数的相关文章

记一次WinForm程序中主进程打开子进程并传递参数的操作过程(进程间传递参数)

目标:想在WinForm程序之间传递参数.以便子进程作出相应的处理. 一种错误的方法 父进程的主程序: 1 ProcessStartInfo psi = new ProcessStartInfo(); 2 psi.FileName = "ProcessChild.exe"; 3 psi.Arguments = txtArgs.Text; 4 Process.Start(psi);//主要问题在这里 子进程的主程序: 1 txtArgs.Text = Process.GetCurrent

wpf进程间通讯

wpf进程间通讯 在联想智能识别项目中,需要用到进程间通讯,并且是低权限向高权限发送消息.首先声明一下,此项目是wpf的. 首先先简要说一下什么时候会用到进程间通讯,如:在Windows程序中,各个进程之间如果需要交换数据,此时就可以用到进程通讯. 先讲讲怎么实现发送消息: 要用进程间通讯,就必须用到参数WM_COPYDATA,此参数的主要目的是允许在进程间传递只读数据. 发送消息需要用到SendMessage函数,如果接受方未接收完数据的话,是不会返回的,所以发送方在此过程中是不可能删除和修改

进程间传递文件描述符

下面的实例展示了如何使用Unix域套接字在进程间传递文件描述符 参考文献:1) <Unix网络编程> 2)  http://book.51cto.com/art/200912/168560.htm 最近学习了使用Unix域套接字在进程间传递文件描述符,仿照参考资料,自己也写了简单的程序来实践这种技术. 其他不多说了,具体理论知识参见参考资料,开始我自己的程序介绍(在OpenSolaris 2009.06平台上测试): 1  程序作用说明:父进程,子进程以及另外一个进程向同一个文件的文件描述符向

进程间传递文件描述符——sendmsg和recvmsg函数

先引入一个例子,该程序的目的是子进程向父进程传递文件描述符,并通过该文件描述符读取buf. #include <func.h> int main(){ int fds[2]; pipe(fds); if(!fork()){ close(fds[1]); int fd; read(fds[0], &fd, sizeof(fd)); printf("child fd = %d\n", fd); char buf[128] = {0}; read(fd, buf, siz

在进程间传递文件描述符

由于fork调用之后,父进程中打开的文件描述符在子进程中仍然保持打开,所以文件描述符可以很方便地从父进程传递到子进程.需要注意的是,传递一个文件描述符并不是传递一个文件描述符的值,而是要在接收进程中创建一个新的文件描述符,并且该文件描述符和发送进程中被传递的文件描述符指向内核中相同的文件表项. 在Linux下,我们可以利用UNIX城socket在进程间传递特殊的辅助数据,以实现文件描述符的传递,它在子进程中打开一个文件描述符,然后将它传递给父进程,父进程则通过读取该文件描述符来获得文件的内容.

IBinder对象在进程间传递的形式(一)

命题 当service经常被远程调用时,我们经常常使用到aidl来定一个接口供service和client来使用,这个事实上就是使用Binder机制的IPC通信.当client bind service成功之后,系统AM会调用回调函数onServiceConnected将service的IBinder传递给client, client再通过调用aidl生成的asInterface()方法获得service的调用接口,此时一个bind过程结束了,我们在client端就能够远程调用service的方

jsp页面间传递参数 中文乱码问题(zz)

jsp页面间传递参数 中文乱码问题 window.location="Test.jsp?param1="+encodeURI(encodeURI(str));//对中文参数进行双层编码后再传递 URLDecoder.decode(request.getParameter("param1"),"utf-8");//对中文参数进行解码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ASP.NET 页面间传递参数的方法

这个新特性意味着ASP.NET2.0开发人员目前有三种可供选择的技术来将数据从一个web页面传送到另外一个页面.这三种方法是:响应重定向,服务端传输和新的跨网页提交特性.我们可以已经熟悉前两种技术了,因此,我们只是简要地复习一下它们,然后我们会将主要精力放到学习如何使用跨网页提交特性,以及阐述一下这种方法和响应重定向以及服务传输方式有什么不同. 一.响应重定向方法 响应重定向方法是目前为止将一个网页重定向到另一个网页的最简单的方法的最简单的方法.当Web服务器接到一个重定向请求后,它会将一个响应

ios页面间传递参数四种方式

ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Delegate来传递. IOS开发使用委托delegate在不同窗口之间传递数据是本文要介绍的内容,主要是来讲解如何使用委托delegate在不同窗口之间传递数据,具体内容来看详细内容.在IOS开发里两个UIView窗口之间传递参数方法有很多,比如 前面3种方法,暂且不说,这次主要学习如何使用通过Dele