热情软件屋

 

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型变量"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio