我用vc 2005做的mfc activex控件来返回硬盘的序列号,我把ocx和html文件放在一个目录中,在我的机器上用浏览器可以返回值,但是到了其他机器上返回的是结果显示没定义,不是硬盘的序列号,真是不知道为什么,我的html是这样写的:<OBJECT id='pc' classid="clsid:C2C9F49B-11F3-44B2-9B08-3423D0F3F886" CODEBASE="myactive.ocx#version=1,0,0,0" VIEWASTEXT></OBJECT>
<SCRIPT>
alert(pc.GetIDEKey); 
alert(pc.GetCPUInfo); 
alert(pc.GetMacInfo);
</SCRIPT>谢谢各位高手,我急着解决啊,谢谢了

解决方案 »

  1.   

    估计是因为没注册,要执行 regsvr32.exe 注册你的组件。
      

  2.   

    <OBJECT id='pc' classid="clsid:C2C9F49B-11F3-44B2-9B08-3423D0F3F886" CODEBASE="myactive.ocx#version=1,0,0,0" VIEWASTEXT> </OBJECT> <SCRIPT  for="pc">  ...........
    alert(pc.GetIDEKey);  
    alert(pc.GetCPUInfo);  
    alert(pc.GetMacInfo); 
    </SCRIPT> 
    再看下  classid有没有正确
      

  3.   

    可能没有注册,网页提示了,但是我想怎么样能不用手动通过regsvr32.exe注册啊,因为不可能让其他人都这样注册一次吧,再说有很多用应都是自动注册的啊
      

  4.   

    估计是注册没有成功.你把ATL库设置成静态连接,打包的时候,把那个MANIFEST文件同时打包.