我写了一个程序,需要留接口供别人调用来可控制我的程序的部分功能,应该采用什么方式好一些? 如题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不需要跨语言的话用接口函数需要的话提供COM接口 LZ的意思是不是插件功能?既然是可以控制应该是插件功能吧。DLL和COM都可以。 1. DLL2. 发送窗口消息 我也是想做一个DLL,可是我始终没明白这个DLL应该怎么写。请问在哪里可以找到写这种接口DLL的文章或资料? http://www.programfan.com/article/showarticle.asp?id=21 如果不用跨语言,DLL简单一些如果需要跨语言,COM功能强大一些 除COM/DLL之外,现在也很流行script的 估计是我没把问题说清楚,我的目的是这样的。有一个程序A,有一个程序B。A当中有个功能是打开文本文件并显示。我要在程序B中控制A,并让A执行打开文本文件这个动作。如果直接调用DLL的话应该是实现不了这个功能的吧。因为这个功能实际上不在DLL中,而是在程序A中。 发窗口消息,或者管道命令。这个最简单,需要在同一个机器执行。可以用socket,可以处理复杂控制操作。还可以用dcom。这个网络环境的配置要求比较高。 用com,或者做成向Excel 那样的 active server 程序. 还有一种更老的接口好像叫 DDE 两个不同的程序在B中提供一个功能键,点击运行A。要不把A中那部分代码移植到B中 归纳一下大家的意见和我不明白的地方,请大家指正:1、DLL //我不明白这种DLL应该怎么写,正如我开始说的,那功能的代码在程序A中,不在DLL中,即使我在程序B中加载了这个DLL,好象也没用2、发送消息 //应该是最简单实用的一种方法。可是发消息好象就可以传两个参数,我要传的实际上10个以上,可以达到20个参数左右,不知道能否做?还有就是我要找到程序A是否还必须使用FindWindow(),可程序A是多文档的,它的标题是会随着打开文件的不同而变化的,没法找。3、COM //应该是 功能最强大的一种,但是实现相对复杂,而且小弟我也对它不熟悉。只有放弃它了。4、socket //我的目的是本机的两个程序通信。所以应该用不上socket,而且我还要开个线程去监听一个端口,感觉也浪费资源。5、 DDE //这好象是比较老的技术。支持性不是很好,放弃。 我给你说个办法,当B需要向A发送命令时,直接shellExec A.并且用命令还的方式把你的命令传进来。在A的winmain中,取得参数,并且判断当前是否是第一个实例,如果是第二个实例,就把命令放到内存共享区,然后给第一个实例发个自定义消息,并退出自己。 vc++中如何截取字符串 死活不进SetUnhandledExceptionFilter设置的顶级过滤函数 不知道为啥,SQL中的WHERE不好用啊 我在c中用itoa函数将一个整型的数据转换成字符型数据,为何出错? 在线等待 动态生成编辑框的风格问题 关于 std::string 使用问题 VC++ CDC绘图 在界面上做标记 怎么获得硬盘一个分区剩余空间? 我是初学者请问声明和定义有什么区别 谢谢 如何能够查询到程序中某一个指定的线程的状态? ADO 对上一条记录的修改问题!!请大侠看看! [求助]终止线程的代码怎么写?
需要的话提供COM接口
既然是可以控制应该是插件功能吧。
DLL和COM都可以。
2. 发送窗口消息
请问在哪里可以找到写这种接口DLL的文章或资料?
有一个程序A,有一个程序B。
A当中有个功能是打开文本文件并显示。我要在程序B中控制A,并让A执行打开文本文件这个动作。如果直接调用DLL的话应该是实现不了这个功能的吧。因为这个功能实际上不在DLL中,而是在程序A中。
可以用socket,可以处理复杂控制操作。
还可以用dcom。这个网络环境的配置要求比较高。
在B中提供一个功能键,点击运行A。
要不把A中那部分代码移植到B中
1、DLL //我不明白这种DLL应该怎么写,正如我开始说的,那功能的代码在程序A中,不在DLL中,即使我在程序B中加载了这个DLL,好象也没用2、发送消息 //应该是最简单实用的一种方法。可是发消息好象就可以传两个参数,我要传的实际上10个以上,可以达到20个参数左右,不知道能否做?还有就是我要找到程序A是否还必须使用FindWindow(),可程序A是多文档的,它的标题是会随着打开文件的不同而变化的,没法找。3、COM //应该是 功能最强大的一种,但是实现相对复杂,而且小弟我也对它不熟悉。只有放弃它了。4、socket //我的目的是本机的两个程序通信。所以应该用不上socket,而且我还要开个线程去监听一个端口,感觉也浪费资源。5、 DDE //这好象是比较老的技术。支持性不是很好,放弃。