如何用BCB控制别的程序?

CCLIS 2002-04-26 10:16:10
有一套算法很复杂的软件,可惜是英文的,并且有些地方不实用,本来想自己重新开发一套,可惜不知道具体的算法,现在想做一个前台程序,中文界面,自动将数据传到那套程序,而再获得那套程序产生的结果,转到前台我自己的程序里。

请问,想做到如此的效果,怎样做?

原来的软件的输入和输出都是在EDIT框里的,如果获得具体的EDIT的具体并控制它们?
还有,如何对那个软件发送命令开始计算,就是如何向另外一个程序发送它自定义的命令及如何知道它的命令参数?

分不够可以再加。
...全文
18 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CCLIS 2002-04-28
  • 打赏
  • 举报
回复
做好了,谢谢大家,结帖
aawolf 2002-04-26
  • 打赏
  • 举报
回复
那个软件支持COM吗?如果是个自动化服务器的话,只要找到它的接口就可以了。不过也不知道你运气有没有那么好。
一般的程序会把算法什么的放到动态连接库中去,你只要找到它的库入口函数就可以使用它的函数了,得到函数参数的方法很多,但关键是能不能找到入口函数。
invalid 2002-04-26
  • 打赏
  • 举报
回复
发送消息个Edit和给按钮发送按下消息不难。用SendMessage就可以。关键是得到句柄,得到句柄可以参考一下以前的帖子,有两种方法:
1.根据位置得到。
2.枚举窗体上所有组件。
以前的帖子讨论过,细节你搜索一下吧。

程序自定义的命令和参数就不好得到了,考虑使用Crack手段,跟踪一下。
forgot2000 2002-04-26
  • 打赏
  • 举报
回复
用Delphi做的简单范例,你可以参考一下:
分发送与接收
发送:新建一个工程,并在其窗体中加一个EDIT和一个BUTTON
procedure TForm1.button1click(sender:TObject);
var
ds:TCopydatastruct;
hd:THandle;
begin
ds.cbData:=Length(Edit1.Text)+1;
GetMem(ds.lpData,ds.cbData); //为传递数据分配内存
StrCopy(ds.lpdata,PChar(edit1.Text));
hd:=Findwindow(nil,'Form2'); //获得按受窗口的句柄
if HD<>0 then
SendMessage(Hd,WM_COPYDATA,Handle,Cardinal(@ds); //发送WM_COPYDATA消息
else
Showmessage('No found!');
FreeMem(ds.lpData); //释放资源
end;

接收:再建一个工程,并在其窗体中加一个EDIT
unit unit2;
....
public
{Public declarations}
procedure Mymessage(var t:TWmCopyData);message WM_COPYDATA;
...
procedure TForm2.Mymessage(var t:TWmCopyData);
begin
edit1.text:=Strpas(t.CopyDataStruct^.lpData); //接受并显示
end;

jishiping 2002-04-26
  • 打赏
  • 举报
回复
应该没问题的。但不是一两句说的清楚的。
1.怎样在C++Builder中创建使用DLL 2.用C++Bulider在WIN.INI中保存信息 3.如何在C++Builder中检测硬件 4.C++Builder如何响应消息及自定义消息 5.利用C++ Builder开发动画DLL 6.用C++ Builder 3制作屏幕保护程序 7.TCP/IP头格式 8.UDP 9.判断windows的Desktop及其它目录 10用C++Builder创建数字签名 11用Enter 键控制焦点切换的方法 12.拦 截 Windows 消 息 13.使用CommaText 14.程序开始时先显示信息框 15.怎样获取程序的命令行参数? 16.如何监视剪贴板 17.如何使用OnIdle事件 18.用C++Builder编写串行异步通信程序 19.C++BUILDER非可视组件的消息处理技巧 20.用C++Builder 建立数据库VCL使用经验 21.用C++ Builder创建基于Internet的点对点Chat 22.用C++Builder获取应用程序图标 23.BIG5到GB的转换技术 24.C++BUILDER让你的任务栏图标动起来 25.TFORM 26.用BCB在windows桌面创建快捷方式 27.读磁片磁区 28.I/O 端口读写的实现 29.检测鼠标位置 30.令Win32 应用程序跳入系统零层 31.如何取得Memo的行和列 32.使用Sockets 33.Windows95/98下怎样隐藏应用程序不让它出现在CTRL-ALT-DEL对话框中? 34.怎样隐藏应用程序的任务条图标 35.编写自己的Ping.exe程序 36.用C++Builder在WINNT下编制一个Service 37.如何在C++ BUILDER中自动关闭WINDOWS屏保 38.显示/隐藏任务栏图标 39.信箱监视程序 40.C++Building制作闹钟 41.拨号上网IP地址的检知 42.用C++ Builder编写Tray程序 43.怎样用代码来最小化或恢复程序 44.制作主窗口显示前的版权窗口 45.判断是否已经联到 internet 46.获取登陆用户名 47.隐藏桌面图标 48.程序启动时运行 49.控制面板的调用 50.模拟键盘按键 51.让标题栏闪烁 52.启动屏幕保护 53.年月日星期的取法 54.键盘事件 55.隐藏任务栏 56.禁止关机 57.怎样以最小化方式启动程序 58.在Memo中增加一行后,如何使最后一行能显示 59.设置壁纸方法

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧