如何知道两个独立exe如何通信的实现两个exe之间的通信

c#进程之间通信,c#exe 之间发消息,c#exe 相互通信
Windows系统编程
开发语言:C#
实例大小:0.07M
下载次数:
浏览次数:
发布时间:
实例类别:Windows系统编程
发 布 人:
所需积分:2
&相关标签:
同类人气实例
实例下载地址
c#进程之间通信,c#exe 之间发消息,c#exe 相互通信
不能下载?内容有错? 点击这里报错
好例子网口号:伸出你的我的手 & 分享!
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
Copyright &
好例子网(https://www.haolizi.net).All Rights Reserved备案编号:冀ICP备号 石公备号(10)【将来要用】如何实现2个exe之间的快速通信?【vb吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:109,687贴子:
【将来要用】如何实现2个exe之间的快速通信?收藏
【将来要用】如何实现2个exe之间的快速通信?
通用软件不合适,定做软件太昂贵,自己用vb.net开发太难,何不试试FoxTable?
A程序在运行过程中可能要将数据发给B程序处理,然后B程序将处理后的数据发给A
将来要用一个程序来充当服务器端(伪),需要实现程序间的通讯
sendmessage或者readprocessmemory和writeprocessmemory
过会就有时间上机去写移动代码了,提前发问免得以后要等
如果不是同一台电脑可以试试WinSock。。。
可以用socket也可以内存共享如果有事件机制触发也可以发消息..
用winsock吧
登录百度帐号VB用内存共享实现EXE通信_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&100W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VB用内存共享实现EXE通信
&&VB快速调用系统对话框下
阅读已结束,下载本文需要
定制HR最喜欢的简历
你可能喜欢如何写一个 web 程序和服务器端的一个 exe 程序进行通信_百度知道
如何写一个 web 程序和服务器端的一个 exe 程序进行通信
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自知道合伙人认证行家
电脑类行家
采纳数:40430
获赞数:196927
网络、设备维护、电路、弱电检测。
  现在看来需求大约是这样:某程序有三个组成部分:  数据源:这个数据源是一个可执行程序,工作在服务器端。它负责从本需求里不可知的来源负责实际操作。  服务器:这个服务器是web服务器,用来提供网页上的操作接口控制数据源。服务器接受客户端传来的web请求并转换为数据源可以识别的操作。  客户端:浏览器页面作为客户端将web请求发送到服务器端。每个web请求对应一个数据端的操作。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"&&/iframe&()一直是困扰广大程序员的难题,尽管已经出现了各式各样的解决方案,但迄今为止没有哪一种方案是完美无缺的。因此,只有学习并了解了它们的优缺点后,才能在特定的情况下选择最佳方案,以满足最终的要求。 1、共享 在硬盘上建立一个文件,一个应用程序往该文件里写数据(可以不关闭文件,但必须刷新缓冲区),另一个应用程序以共享方式打开这个文件并读取其中的内容,这便是最简单的一种方式。对于网络用户而言,只要两台终端上安装的都是Win311ForWorkgroup或Windows95(或NT),则只要设置一下目录共享,映射成网络驱动器,同样可以简单地实现。但它的缺点也是显而易见的:只能采取轮询的方式获得最新数据(效率低下),网络映射的驱动器绝对不能变动或取消(可靠性差),所以这是一种“低级”的通讯方式。 2、DDE 每个Windows程序员都不会对DDE(动态)感到陌生,它是最早的基于Windows的方法,有三种方式可供选择:冷连接、温连接和热连接。一般都是由客户端向服务器端发出连接申请,并且必须指明服务器端的名字和标题。在连接建立后,数据可以双向流动。典型的例子如抓图软件SnagIt,它提供了DDE接口,能够让其它应用程序来控制它。DDE是完全向后兼容的,从16位平台转到32位,源代码几乎不用修改。 DDE还有网络功能。使用过Win311ForWorkgroup的人大概都还记得,它自带一个非常吸引人的小程序“Chat”,能使两台计算机通过网络实时交谈,这在当时几乎是一项创举。可是很少有人知道“Chat”使用的是一种特殊的DDE,即NetDDE。它的基本工作原理仍然是DDE,但它能使一台计算机向在同一个网络中的另一台终端发消息,而不像普通DDE只能局限在同一台机器上。与其它的方式相比,DDE已不够先进,而且Microsoft也不再积极支持DDE,所以它的前景不被看好。 3、WM_COPYDATA Windows消息功能强大,知之者却甚少。它的确切定义是:一个应用程序向另一个应用程序传递数据时所发出的消息。众所周知,Windows在很大程度上依赖于消息机制,那么我们为什么不把数据放在消息中一起发送出去呢?这样,我们只要调用SendMessage(),以对方窗体的句柄作为第一个参数,以含有指向实际数据的指针结构的地址作为第二个参数,就可以把整个数据块当作消息发向另一个应用程序。也许有的程序员会说,一个自定义的消息同样可以完成这样的工作。他只说对了一半。自定义消息的确可以发送到其它的应用程序上去,但其原始数据所在的内存区只有在发送过程中才是合法的,若在其它模块中存取该内存区就会导致“AccessViolation”。而使用则不存在这个问题,因为Windows本身会替你处理这一切。深入钻研下去,你会发现它其实是先创建了一个文件映射的对象,将发送方的原始数据先拷贝至映射文件,然后再在接收方对这个映射文件打开一个“视图”。的不足之处在于:必须要有一个窗体来接收消息和数据(缺乏灵活性),数据在使用之前先得拷贝到一个映射文件(浪费资源)。 4、NetBIOS 从80年代开始,NetBIOS就是开发Client/Server类程序的标准接口。而当时其它的解决方案几乎都是从UNIX系统上发展而来的。当然,对于今天的用户而言,NetBIOS已不是唯一的选择,他们可以从各种方案中择优选取。在Windows95和NT平台上,可以通过API函数Netbios()来调用NetBIOS功能。 NetBIOS兼容以下几种低层协议:NetBEUI协议(NBF)、NWLinkNetBIOS(NWNBlink)、NetBIOSoverTCP/IP(NetBT)。NetBIOS的优点是速度较快,缺点是可靠性较差。 5、标准的Sockets和WinSock Sockets是15年前在UNIX系统上提出来的,一开始主要是用于本地通讯,但很快就应用在Client/Server体系上了。它的内核很简单:你可以将一个Socket看作是一个双向的节点,一个应用程序可以通过它先与另一个程序建立连接(建立在一个双方都认可的端上,以便于区分同时运行的几个通讯线程),然后就可以彼此交换数据了。 微软公司在其基础上创建了WinSock,专门用于Windows接口,与Socket完全兼容。近年来基于TCP/IP协议的网络大行其道,Socket也随之获得了更加广泛的应用。 如今,Sockets已在Internet上获得了最广泛的应用,主要是因为它的可移植性好: Socket应用程序无论在任何平台间都能互相进行通讯(不管是PC机还是Macintosh,也不管是Windows平台还是UNIX平台)。而最新推出的WinSock2.0,已不仅仅只基于TCP/IP协议,还可基于其它几种传输协议(如IPX)。 Socket的缺陷是它工作在通讯的低层,所以实现起来较为复杂(如果是Win95或NT平台,则不存在这个问题,微软公司提供了相应的控件)。但是,如果要在多个平台间,则Socket是不二之选。 6、Mailslot和Pipe Mailslot和Pipe有很多相同点,即都是高层的、基于内存的通讯系统。Mailslot由Server端创建,代码如下:
myMailslot = CreateMailslot(pSlotName, 0, MAILSLOT_WAIT_FOREVER, NULL);
然后,Client端就可以像打开文件一样打开这个Mailslot,再通过API函数WriteFile()来将数据写入到消息队列中。 与此相类似,Pipe也是由Server端创建的,代码如下:
pipe = CreateNamedPipe(pPipeName, PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE |PIPE_READMODE_MESSAGE
| PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, BUFSIZE,BUFSIZE, 20000, NULL);
接着,Client端就可以通过一般的文件API读写数据,代码如下: pipe = CreateFile(pPipeName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,0,NULL); success = WriteFile(pipe, pMessage, strlen(pMessage) + 1, &bytesWritten, NULL);
Pipe分两种,即命名Pipe和匿名Pipe。匿名Pipe是以句柄而不是以名字来进行标识的,因而也就限制了它只能在同一台机器上通讯,而不能应用于网络。命名Pipe则提供了以名字来进行标识,所以能在网络上的其它任何地方打开它。需要注意的是:命名Pipe只能在WinNT而不是Win95上创建(即Server端),Client端则可以是任意平台。 Pipe既可以单向通讯也可以双向通讯,Mailslot则只能单向通讯。Client端可以发送消息给mailslot,但不能接收消息;如果你想要接收消息,则只能创建一个新的mailslot。但mailslot有一个很大的优点:它支持数据广播。也就是说,若Client端发送一条消息,则整个网络中的同名对象都能收到。这是因为mailslot的名字的作用域只是在本台机器上,所以可在不同机器上创建同名的mailslot,当Client端发来消息时则每一台机上的mailslot都得到了该消息的一份拷贝,并在本机上作出相应的反应。Mailslot的最大缺陷是不可靠,因为它的数据是以数据报格式来传送的,网络错误或负荷过重都会导致数据丢失。 Pipe则较为可靠,但它不能广播。所以,如果你不需要进行广播,则Pipe是更好的选择。选择Mailslot,则要对此后遇到的麻烦有充分的准备。 7、剪贴板(Clipboard) 大家对Windows的应该不会感到陌生吧?它的出现就是为了实现应用程序间的互相。Windows提供了一系列的API函数来让应用程序安全地打开,读写其中的数据。 的缺陷也是显而易见的:当有新的数据放在上时,则先前的数据就会被冲掉,而在Windows中用到的时候又实在太多了,所以这种方式用于程序间的通讯显然不够安全。 8、COM和DCOM 公共对象模式(COM)是一种协议,它建立了一个软件模块同另一个软件模块之间的连接,然后将其描述出来。当这种连接建立起来之后,则两个模块之间就可以通过称为“接口”的机制来进行通讯。COM可以用不同的语言(VB、VC、Delphi)进行编制,又能被其它语言编写的程序所使用,并且不用管通讯双方实际所处的位置(是在同一台机上,还是在同一个网络上的不同机上)。事实上,Internet上有大量的COM控件可供人们下载使用,其中有相当一部分就是用于应用程序间的相互通讯(甚至是Internet程序间的通讯),硬盘上能够看到的大量的.ocx文件其实就是一种COM。 COM对象为外部调用提供了一个标准的界面,COMClient通过创建COMServer的一个实例获得指针,转向所需的函数定义处并执行相应的程序。讲得通俗一点,也就是先正确定义好COM对象的属性(Property),再执行相应的方法(Method)。 DCOM(分布式公共对象模式)是COM在网络上的一种扩展,它通过把分布式对象间的通讯变成一个实体来实现通讯。 COM如今被微软公司大力提倡,最著名的有OLE、ActiveX、DirectX和Win95、WinNT的外壳。由于微软公司目前在软件业处于霸主地位,所以COM很有可能成为将来的业界标准,其前途也较为看好。但COM的庞大也会使一些经验丰富的程序员望而却步,他们宁可自己多写一些代码以使整个程序更为简洁、有效而不愿使用COM。 以上介绍的只是现今流行的一些通讯方法,它们各有各的优缺点,没有哪一种是万能的。因此,只有在合适的场合采用合适的方案,才是最好的解决办法。
在进程间共享数据(内部通过创建内存映射文件)
需要用到的数据结构/类型:
typedef struct tagCOPYDATASTRUCT {
ULONG_P...
有两个VC程序,TestSource,TestDest,其中TestSource中有一个显示缩略图的控件,可以显示很多图像,在其中选中一个图像时,通知TestDest中的图像显示控件显示这个选中的图像...
两种方法,一种是把数据写入到文件,另一个程序去读!
第二种方法,用socket,自己定义一个通道,相互间通讯,就好像通过网络通讯一样,但其实是在同一台电脑上!前提是要有Tcp/Ip环境!而且比较适合...
应用程序之间互相通讯的几种方法
  应用程序之间的数据交换(互相通讯)一直是困扰广大程序员的难题,尽管已经出现了各式各样的解决方案,但迄今为止没有哪一种方案是...
应用程序之间互相通讯的几种方法
  应用程序之间的数据交换(互相通讯)一直是困扰广大程序员的难题,尽管已经出现了各式各样的解决方案,但迄今为止没有哪一种方案是完美无缺的。因此...
在并发编程中,经常会遇到多个线程之间需要相互协作的情况,即并不是多个线程同时执行,而是按照一定的顺序循环执行的情况。
那么怎样去实现这种效果呢?这里介绍三种方案。
这里都以子线程循环10次,然后主线程...
1.runOnUiThread(Runnable)
在子线程中直接使用该方法,可以更新UI
runOnUiThread(new Runnable(){//更新UI
由于应用程序之间不能共享内存。在不同应用程序之间交互数据(跨进程通讯),在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种...
没有更多推荐了,

我要回帖

更多关于 web如何实现两个页面的通信 的文章

 

随机推荐