各位高手帮看一下>怎样通过COM口方法,使一个程序调用另一个程序中功能? 不用那么复杂,直接用b给a发消息就可以了,在a中处理消息……1,循环窗口找到正在运行的a实例2,获取a的句柄3,发送消息 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个COM组件的空壳就行:1.首先建立一个COM工程2.添加一个接口,将你想引出的方法加入其中3.在接口方法的实现中调用你的A程序。OK! TO AlexXXX((梦)) :能说的详细点吗?我在是这样做的,在工程A里加了ATL支持,这样就有了个接口,在工程B里我就可以调用这个接口了,但是不知道为什么,工程B一创建这个接口,机器就进入忙状态。下面就要不行了。你能贴个例子吗?; It is easyu can build a COM EXE in delphiu can understand everything : focus(老鱼) 老兄,说详细点,你的意思太深奥了。 这不是一句话能说明白的。要看你的程序是什么样的?你是要在B中控制A的界面呢?还是调用A的几个函数呢?无论如何你要先选择一个apartment,然后把A的代码转移到里面 : opentuxedo(开缝的燕尾服) ( 没法在现有的工程上加吗?我要调用的是在A的功能。 : opentuxedo(开缝的燕尾服) (噢,主要是因为我的那个工程已经做好了,不想再从做了,另外我用的是ATL。还希望多多指教。 在A中调用RegisterActiveObject注册你的IA在B中调用GetActiveObject来获取IA接口完成你的操作。查查MSDN中的帮助了解详细的使用。 在一本文章里,我看到了这样的一段文字 。应用程序之间互相通讯的几种方法 :1。共享2。DDE3。wm_copydata4、NetBIOS 5、标准的Sockets和WinSock 6、Mailslot和Pipe 7、剪贴板(Clipboard) 8、COM和DCOM 公共对象模式(COM)是一种协议,它建立了一个软件模块同另一个软件模块之间的连接,然后将其描述出来。当这种连接建立起来之后,则两个模块之间就可以通过称为“接口”的机制来进行通讯。COM可以用不同的语言(VB、VC、Delphi)进行编制,又能被其它语言编写的程序所使用,并且不用管通讯双方实际所处的位置(是在同一台机上,还是在同一个网络上的不同机上)。事实上,Internet上有大量的COM控件可供人们下载使用,其中有相当一部分就是用于应用程序间的相互通讯(甚至是Internet程序间的通讯),硬盘上能够看到的大量的.ocx文件其实就是一种COM。 COM对象为外部调用提供了一个标准的界面,COM Client通过创建COM Server的一个实例获得指针,转向所需的函数定义处并执行相应的程序。讲得通俗一点,也就是先正确定义好COM对象的属性(Property),再执行相应的方法(Method)。===================================================各位看到没,关于COM是进行进程间通信的一种方式,这里就这样一带而过,没有任何实质的东西,所以我想请教各位高手。: xfeixiang(小飞象) 说的我正在看,不过要先谢谢了。 啊,总算找到志同道合的,我是想把我的一个工程中的功能包装成COM,但是总是找不方法,今天有个同学要用到我工程中的东西,他是用VB的,而我用的是VC,所以我就想如果我把我的工程加上COM口,那VB不就能访问了吗?于是我就这么做了,我是用VC测的,可惜,老是出现运行时错误。所以我想是我在工程A中加COM口的方法不对,所以一直在这求教,都一下午了,也没什么结果,刚才小飞象说的,我正在看。不知道行不行。: liurekewa(牛牛) :你做的怎么样?可以讨论讨论吗? 我是正在准备还没开始做?让你失望了!其实我的目的也是一样,我想作个AxtiveX控件供另一个同学使用,他用的是VB.而我的控件主要是封装数据源配置的功能.所以我想要知道怎样才能在我的控件里面操控数据源管理器! COM的东西太深奥了,我现在开始学第二遍了 ,只是勉强看得懂。却不会用! 学COM的朋友,学别人的一句话,"罗马不是一天建成的".你们现在的COM知识可能离应用它有一定距离.不要只在想用的时候才想到问别人.花些时间在搞懂它的框架结构上.建议从基础开始,可以看看MSDN中COM的介绍.别怕麻烦.参考其中的一些教程,自己一步一步来.在微软站点上可以找到很多这方面的资料.开始学的时候若急于想用在工程中,问题还会很多.虽然这是大家一直用这样的方式来学新东西.但COM作为WINDOWS体系中的精髓部分,要学它还是先看理论吧. 我也是那本COM原理和应用我已经看两遍了,还看了ATL开发指南。可是还是感觉有好多懂。 loyee真是金玉良言,我想也是的 ,我现在的重点就是搞清其架构,我打算在下一遍再注意其实现细节。丁丁朋友,让我们一起努力! 请教SHELLEXECUTEINFO()的使用 请教怎么判断在一个指定路径下是否存在某个相对路径(文件或文件夹)? 获取和EXCEL关联的文件名 VS 2008 里有 Source Browser 吗? 请教如何使CEdit发生移动~~~~~~~~~~^_^ dll如何在调用自己的进程退出后自我删除? 如何在界面内加入对话框条 在DEF文件中怎么用Exports导出类?谢答!^_^ 表格绘制问题 如何用VC对MS的SQL数据库编程 怎么vc6.0里面的可以添加地组件,在7.0里面找不到了?在线等待! 一个BMP->AVI转换的问题....
1.首先建立一个COM工程
2.添加一个接口,将你想引出的方法加入其中
3.在接口方法的实现中调用你的A程序。
OK!
能说的详细点吗?
我在是这样做的,在工程A里加了ATL支持,这样就有了个接口,在工程B里我就可以调用这个接口了,但是不知道为什么,工程B一创建这个接口,机器就进入忙状态。下面就要不行了。你能贴个例子吗?;
老兄,说详细点,你的意思太深奥了。
要看你的程序是什么样的?你是要在B中控制A的界面呢?还是调用A的几个函数呢?无论如何你要先选择一个apartment,然后把A的代码转移到里面
没法在现有的工程上加吗?我要调用的是在A的功能。
噢,主要是因为我的那个工程已经做好了,不想再从做了,另外我用的是ATL。还希望多多指教。
在B中调用GetActiveObject来获取IA接口完成你的操作。
查查MSDN中的帮助了解详细的使用。
应用程序之间互相通讯的几种方法 :
1。共享
2。DDE
3。wm_copydata
4、NetBIOS
5、标准的Sockets和WinSock
6、Mailslot和Pipe
7、剪贴板(Clipboard)
8、COM和DCOM 公共对象模式(COM)是一种协议,它建立了一个软件模块同另一个软件模块之间的连接,然后将其描述出来。当这种连接建立起来之后,则两个模块之间就可以通过称为“接口”的机制来进行通讯。COM可以用不同的语言(VB、VC、Delphi)进行编制,又能被其它语言编写的程序所使用,并且不用管通讯双方实际所处的位置(是在同一台机上,还是在同一个网络上的不同机上)。事实上,Internet上有大量的COM控件可供人们下载使用,其中有相当一部分就是用于应用程序间的相互通讯(甚至是Internet程序间的通讯),硬盘上能够看到的大量的.ocx文件其实就是一种COM。 COM对象为外部调用提供了一个标准的界面,COM Client通过创建COM Server的一个实例获得指针,转向所需的函数定义处并执行相应的程序。讲得通俗一点,也就是先正确定义好COM对象的属性(Property),再执行相应的方法(Method)。===================================================
各位看到没,关于COM是进行进程间通信的一种方式,这里就这样一带而过,没有任何实质的东西,所以我想请教各位高手。
: xfeixiang(小飞象) 说的我正在看,不过要先谢谢了。
: liurekewa(牛牛) :
你做的怎么样?可以讨论讨论吗?
让你失望了!
其实我的目的也是一样,我想作个AxtiveX控件供另一个同学使用,他用的是VB.
而我的控件主要是封装数据源配置的功能.所以我想要知道怎样才能在我的控件里面操控数据源管理器!
丁丁朋友,让我们一起努力!