如何在C++builder中调用Microsoft agent
来源:互联网 发布:淘淘搜软件 编辑:程序博客网 时间:2024/04/29 01:28
弄了整整一个晚上,看了无数大师们的资料,终于把merlin显示在我的桌面上。网上关于这方面的资料有不少,但是照搬这些程序的时候总是有很多错误,下面是CSDN里的一个贴子: CSDN - 专家门诊 - C++ Builder VCL组件使用和开发问题
http://community.csdn.net/Expert/TopicView3.asp?id=4074506
有不少朋友提供的非常有价值的信息,如constantine(飘遥的安吉儿)和F117p((兰色狐狸),但是照搬这些程序仍有很多错误,不能正确调用MS agent.
那么,下面我想和大家分享一下在C++builder中调用Microsoft agent的一些技巧。
step 1: 调用MS agent 首先要安装 microsoft agent 2.0, windows2000 及XP均已安装了该程序,一般情况下不必安装,当然除非是你曾经卸载了它。
step 2:打开C++builder,菜单component ->import activeX control..., 选择 microsoft agent control 2.0,然后install,之后系统会提示你编译,确认。成功后,ms agent 已经安装到了 ActiveX 控件栏上了,名字是TAgent. (这里想谈一下如何卸掉TAgent的方法,可能有人会用到,因为一次安装不成功的话,必须要卸掉重新安装。在BCB里打开dclusr.bpk,在package-dclusr.bpk窗口里把和agentobjects_OCX有关的两个文件remove掉,然后重新compile,再重复step 2)
step 3: 新建一个项目,在Form1里添加如下代码,这些代码可放在form_create里,也可以放在你需要的地方:
char tmp[100]; //用来暂存windows安装目录
GetWindowsDirectory(tmp,100); //取得windows安装目录
String tmppath=String(tmp)+"//msagent//chars//Merlin.acs";
//String(tmp)是把char类型转变为String,然后将文件的完整路径存入tmppath
BSTR Agentname = BSTR("merlin"); //将String 类型转变为 wchar_t*
Variant Agentpath = Variant(tmppath); //将tmppath 类型转变为tagVARIANT
Agent1->Characters->Load(Agentname,Agentpath);
//载入ms agent 人物,Load的格式为Load(wchar_t*,tagVARIANT)
IAgentCtlCharacterEx* Merlin = (IAgentCtlCharacterEx*)Agent1->Characters->Character(Agentname);
把人物指定给一个变量 Merlin,当然你可以自己命名
//下面是一些基本的测试,有关ms agent操纵的更详细内容请参阅有关文档
Merlin->Show(Variant(0));
Merlin->MoveTo(100,100,Variant(2));
Merlin->Play(WideString("Search"));
//以上程序在C++Builder 6.0 上编译通过。
总结:BCB中操纵MS agent最多的错误就是数据类型的不匹配,BSTR() 及Variant()则很好地解决了这个问题。大家学习BCB的时候不要着急,这两个函数都是我慢慢试出来的,同时也感谢各网友提供的WideString,c_bstr(),Tvariant()等函数。
- 如何在C++builder中调用Microsoft agent
- 如何在C++builder中调用Microsoft agent
- 如何在C++Builder中检测硬件
- 如何在C++Builder中使用ACE
- 如何在C Builder中使用全局变量
- 如何在C++Builder中使用全局变量
- 请问:在c++builder中Teechart的LoadChartFromFile函数如何调用?
- 在LccWin32中使用Microsoft Agent控件——主文件AgentSvr.c
- Microsoft Agent在bcb下的简单调用
- 如何在c++ builder中调用windows应用程序
- 如何在c++ builder中调用windows应用程序
- 在C++Builder 中调用OutLook发送邮件
- 在C#中调用C++Builder编写的DLL
- 如何在PB中调用 Microsoft WEB 浏览器 控件?
- 如何在c++builder中调试ISAPI(IIS5.0+window2000)
- 在C++Builder中如何编写程序控制Excel
- 在C++Builder中如何使用游戏操纵杆
- 如何在C++Builder中使用Delphi控件
- 华为面试题算什么,这个背会了外企随便进(2)
- 好久没来了
- 华为面试题算什么,这个背会了外企随便进(3)
- 华为面试题算什么,这个背会了外企随便进(4)
- xacc.ide v0.1.3.14 by xacc team
- 如何在C++builder中调用Microsoft agent
- 如何让精灵在不同的帧率下运动速度不变--Frame Rate Independent Movement
- LCC-Win32 by Jacob Navia
- jBixbe v1.0-alpha by ds-emedia engineering office
- ExeInfo PE v0.0.0.8B by A.S.L.
- SOA初探
- Restorator v2006.1534 by bome.com
- TCPMonitor工具
- 开源的力量……