<script language="VBScript">
Sub Test()  On Error Resume Next
set obj= CreateObject("A.B")
if err<>0 then
alert("ERROR")
else
call obj.C()
        end if
end sub
Test()
</script>
    以上是VBScript的代码,很简单. 要一个ActiveX:A;里面有一个类:B;C是B的一个成员函数,函数的内容是执行一个可执行文件,类似WinExec("C:\\notepad.exe", SW_SHOW); 目的就是想通过这个VBScrip通过一个activX来中转调用一个可执行文件.
    由于我对AcitveX不是很熟悉,所以在这里请各位大虾帮个忙.怎么通过vs2005创建?

解决方案 »

  1.   

    不好意思,刚才没说完,要用c++实现activeX,不是用VB这些来实现.
      

  2.   

    创建 ATL project 或 MFC ACTIVE x PROJECT 都可以  ,另外创建对象不一定要有容器,也就是说不一定要有A 只要有B 就好了
      

  3.   

    我查了下msdn ,vb的CreateObject的解释如下:
    Creates and returns a reference to an Automation object.CreateObject(servername.typename [, location])
    看来这里要建一个Automation object才行.
      

  4.   

    UP.是用VC2005 新建一个 MFC->MFC DLL ,然后再后面的选项中选上Automation.是这样吗?
    我生成以后idl 如下.
    [ uuid(13BAD861-323E-4DD3-88D2-65C11CC19FB0), version(1.0) ]
    library WebCallExe2
    {
    importlib("stdole32.tlb");
    importlib("stdole2.tlb");
    };
    怎么样才能生成一个让 VBScript 调用CreateObject("A.B")中的A以及A下的B呢?