我想用VB做成一个Activex控件放在网页上读取客户端的物理地址,然后可通过 asp.net 读取这个控件的物理地址值,现在我用VB程序可以写出来OCX控件(或许我的OCX控件做法不对,但是我放在网页上是可以读到物理地址的),数字签名和打包成CAB都没问题了,但现在最大的问题是我的网页怎么取得这个控件上的值呢?原理就像网上银行的密码输入框的Activex控件一样,密码是用Activex的但用户名就不用,这样怎么验证用户名和密码的?网上银行的密码输入框的Activex控件这是怎么得到值的?
网上有这样的读法
webbrowser1.Document.Forms( "form1 ").All( "UserID ").Value= "abc "   '填入用户名/密码 
webbrowser1.Document.Forms( "form1 ").All( "Password ").Value= "abc "
但好像不行哦,还有以下的:
<object id="ctl" classid="clsid:A2B80A6E-42FA-4730-AEB2-B1FB38D2C8D1" width="100" height="50"> 
</object> 
<script language="javascript"> 
document.getElementById("ctl").函数名(); 
</script>
这种客户端要设置IE的,网银是不用设IE的啊。
有做过这方面的高手吗? 帮帮忙吧!万分感谢!

解决方案 »

  1.   

    首先只要是ActiveX,必须要进行IE的安全设置。网银一般都是一个安装程序,安装的时候都给你设置好了。其次,ActiveX在页面里面和普通的DOM对象一样,只要ActiveX创建成功,就可以用js直接访问该组件的方和和属性。
      

  2.   

    需要实现 IObjectSafety接口 得到客户端的信任。。
      

  3.   

    我之前也做类似activex,也主要数据的传入传出.如果楼主用密码控件而又用js读出,那不就失去意义了吗.   建议还是将输入的数据传到Activex中处理.
      

  4.   

    只要客户端安装了Activex控件就可以使用object标签嵌入并通过js调用。如果不行就是你的控件没写对。