首页 新闻 搜索 专区 学院

Winform两个EXE之间的交互功能怎么做?

0
[待解决问题]

现在想做一个功能,两个编译之后的EXE,手动正常打开这个EXE的话则不显示窗体的某一个模块,而如果通过程序去调用这个EXE的话,则显示出相应的功能模块,是不是通过什么传输的机制来实现这个功能呢,或者有什么技术可以实现这个功能?求大神给出指导,谢谢。

技术控甄的主页 技术控甄 | 菜鸟二级 | 园豆:236
提问于:2014-02-20 09:23
< >
分享
所有回答(7)
1
Launcher | 园豆:45045 (高人七级) | 2014-02-20 09:24
1

对呀,启动时如果是从其它程序调用启动,你可传入一个启动参数,在程序里判断这个参数就行了。如果这样还不够,你可以考虑,跨进程通讯,简单的用API SendMessage就可以相互通讯,或者复杂点的用Remoting或WCF或其它很多跨进程通讯的。

空明流光 | 园豆:62 (初学一级) | 2014-02-20 09:37
0

跨进程通讯就可以了,通过windows api比如SendMessage给另外一个进程发消息就行了。

ocean | 园豆:824 (小虾三级) | 2014-02-20 10:57
0

最简单,用命令行。

@Sunth | 园豆:134 (初学一级) | 2014-02-20 11:31
0

Process.Start

iEvent | 园豆:529 (小虾三级) | 2014-02-20 11:57
0

通过程序去调用这个EXE,多半都是用Process.Start这种方式,然后传一个参数加以区分。

而手动点的EXE,就没有这个参数。

xiashengwang | 园豆:209 (菜鸟二级) | 2014-06-24 18:08
0

加上Main(string[] args)

if (args.Length == 1 && args[0] == "参数")
{

//有参数时
}
else
{
 //无参数时
}

因为Windows默认的双击启动是不带数启动的,而你用Process.Start启动时可以加上参数,像这样System.Diagnostics.Process.Start(”**.exe", "参数");

Selway | 园豆:22 (初学一级) | 2014-12-24 11:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册