VC如何调用ActiveX automation技术来控制其它程序
编号:QA002902
建立日期: 2000年4月27日 最后修改日期:2001年10月31日
所属类别:
杨东:
操作系统: windows98
编程工具: visual C++ 6.0
问题: 最近要用VC完成毕业设计,其中有一部分需用ActiveX automation技术来控制其它程序,怎样在VC中使用该技术,绞尽脑汁,不得其解,希望高手指教,不胜感激。(对VB中使用此技术已掌握。)
水平: 中级
回答:
在VC中,使用AppWizard建立工程时选择Automation支持。然后,在ClassWizard中的Automation,选择Import class from typelib,选择你要控制的EXE和DLL,此时ClassWizard会让你选择有关类,然后生成C++代码。这样你将得到一个由Automation生成的类,可以象使用普通C++类一样使用。
wangkai问:
在vb中启动程序用的是creatobject函数,在vc中用什么函数呢?
答:如果你采用的是上面的方法,可以这样做:
#include "MSWord8.h" //Use MSWord9.h for Word 2000.
...
_Application oApp;
oApp.CreateDispatch("Word.Application",NULL);
...
如果不采用上面的方法,可以建立COleDispatchDriver对象,然后调用CreateDispatch方法建立对象,在MSDN Library的COleDispatchDriver::CreateDispatch中有例子。但是这种方法要使用InvokeHelper来调用属性或方法,比前一种方法麻烦。
相关问题:
QA000049 "在VC++ 5.0中如何通过OLE技术访问Excel对象"
QA002162 "如何转换数字类型为OleVariant类型"
QA002411 "如何将COleVariant型转换为CString或其他数据类型"
QA002234 "在VC中如何使用VARIANT型变量"
此问题由李海回答。
| |
|
|
| |
|
|