c#的程序如何让外部程序调用

问题是这样的。用C#编写两个程序,互相独立运行,设为A和B。B程序需要一直开着,里面有一段逻辑,设为publicvoidfun(stringparam)将A程序打开,点击... 问题是这样的。用C#编写两个程序,互相独立运行,设为A和B。
B程序需要一直开着,里面有一段逻辑,设为public void fun(string param)
将A程序打开,点击A程序里的某个按钮。就会把一个参数传递到B,并且调用fun()。
此时,B获得激活,开始执行fun()。

这个该如何做到呢?思路是什么。
注意:我需要的是在已经打开的B进程里调用一段功能,而不是新打开一个进程调用。
展开
 我来答
alwaysfirst
2012-05-22 · TA获得超过491个赞
知道小有建树答主
回答量:457
采纳率:0%
帮助的人:230万
展开全部
可以使用API sendmessage或者PostMessage来发送一个自定义的消息

B一直在运行,当点击A的按钮时,发送自定义的消息给B,B获得消息判断是否是要执行fun函数的消息,如果是,就开始执行fun函数
winmsing
2012-05-21 · TA获得超过612个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:432万
展开全部
有多种方法...
1..设置一个共用配置文件...如txt.A写入内容到TXT.B实时检测txt文件内容...发现符合规范,,则调用自身函数,.这种最简单...
2.利用TCP/ip通迅...相当于远程控制类程序...如QQ
3..调用windows api 发送特殊消息...
4,开放公共接口...如下载软件下载文件后自动调用杀毒软件扫描病毒一样...
追问
第四种方案就是我想要的。但是如何在C#编程里实现让别的程序可以调用的公共接口呢。类似SDK了。
追答
SDK实际上并不能直接让你当前运行的B程序怎么怎么样哦. 你还是用API实现吧...
将你的程序发布成DLL,然后供其他程序调用就行了,虽然A,B都能调用这个DLL但想共享数据并不容易,,,而且你这时候会觉得这个DLL好像不属于程序A,,也不属于程序B..因为DLL也可以看做是另一种形式的exe文件..
还是通过API和数据库这种方法的好..但上面的方法他们都属于间接的调用..严格意义上的直接调用根本不存在..但只要能完成我们的功能,就不必深究了..
听说做成服务也行,,但没研究过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
解忧解忧杂货铺
2012-05-21 · TA获得超过590个赞
知道小有建树答主
回答量:1536
采纳率:33%
帮助的人:697万
展开全部
把B做成一个服务 行吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happydog07
2012-05-21 · TA获得超过304个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:213万
展开全部
这个好像要用到API了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式