先注册 regsvr32 check.dll
然后创建对象
oCheck = new ActiveXObject("名字")

解决方案 »

  1.   

    大哥,这个dll是客户端的,怎么能让每一个浏览者都注册呢?
    另外你说的那个"名字"是什么?是不是:
    oCheck = new ActiveXObject("check.dll")
      

  2.   

    楼上,借你宝地一用,我也有同样的问题,取客户端的mac地址,做一个activex控件,然后alert(控件.方法)的时候,什么都没有,初学,请大家指教,另vb里的控件是直接写代码就可以了吗,我copy了别人的代码,大家看看这样可不可以
    Private Const NCBASTAT As Long = &H33
    Private Const NCBNAMSZ As Long = 16
    Private Const HEAP_ZERO_MEMORY As Long = &H8
    Private Const HEAP_GENERATE_EXCEPTIONS As Long = &H4
    Private Const NCBRESET As Long = &H32
    Private Type NET_CONTROL_BLOCK
       ncb_command    As Byte
       ncb_retcode    As Byte
       ncb_lsn        As Byte
       ncb_num        As Byte
       ncb_buffer     As Long
       ncb_length     As Integer
       ncb_callname   As String * NCBNAMSZ
       ncb_name       As String * NCBNAMSZ
       ncb_rto        As Byte
       ncb_sto        As Byte
       ncb_post       As Long
       ncb_lana_num   As Byte
       ncb_cmd_cplt   As Byte
       ncb_reserve(9) As Byte
       ncb_event      As Long
    End Type
    Private Type ADAPTER_STATUS
       adapter_address(5) As Byte
       rev_major         As Byte
       reserved0         As Byte
       adapter_type      As Byte
       rev_minor         As Byte
       duration          As Integer
       frmr_recv         As Integer
       frmr_xmit         As Integer
       iframe_recv_err   As Integer
       xmit_aborts       As Integer
       xmit_success      As Long
       recv_success      As Long
       iframe_xmit_err   As Integer
       recv_buff_unavail As Integer
       t1_timeouts       As Integer
       ti_timeouts       As Integer
       Reserved1         As Long
       free_ncbs         As Integer
       max_cfg_ncbs      As Integer
       max_ncbs          As Integer
       xmit_buf_unavail  As Integer
       max_dgram_size    As Integer
       pending_sess      As Integer
       max_cfg_sess      As Integer
       max_sess          As Integer
       max_sess_pkt_size As Integer
       name_count        As Integer
    End Type
    Private Type NAME_BUFFER
       name        As String * NCBNAMSZ
       name_num    As Integer
       name_flags  As Integer
    End Type
    Private Type ASTAT
       adapt          As ADAPTER_STATUS
       NameBuff(30)   As NAME_BUFFER
    End Type
    Private Declare Function Netbios Lib "netapi32.dll" (pncb As NET_CONTROL_BLOCK) As Byte
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
    Private Declare Function GetProcessHeap Lib "kernel32" () As Long
    Private Declare Function HeapAlloc Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
    Private Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long
    Function GetMACAddress() As String
      
       Dim tmp As String
       Dim pASTAT As Long
       Dim NCB As NET_CONTROL_BLOCK
       Dim AST As ASTAT
      
       NCB.ncb_command = NCBRESET
       Call Netbios(NCB)
      
       NCB.ncb_callname = "*               "
       NCB.ncb_command = NCBASTAT
      
       NCB.ncb_lana_num = 0
       NCB.ncb_length = Len(AST)
       pASTAT = HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS Or HEAP_ZERO_MEMORY, NCB.ncb_length)
       If pASTAT = 0 Then
          Debug.Print "memory allocation failed!"
          Exit Function
       End If
       NCB.ncb_buffer = pASTAT
       Call Netbios(NCB)
       CopyMemory AST, NCB.ncb_buffer, Len(AST)
       tmp = Format$(Hex(AST.adapt.adapter_address(0)), "00") & " " & Format$(Hex(AST.adapt.adapter_address(1)), "00") & " " & Format$(Hex(AST.adapt.adapter_address(2)), "00") & " " & Format$(Hex(AST.adapt.adapter_address(3)), "00") & " " & Format$(Hex(AST.adapt.adapter_address(4)), "00") & " " & Format$(Hex(AST.adapt.adapter_address(5)), "00")
       HeapFree GetProcessHeap(), 0, pASTAT
       GetMACAddress = tmp
    End Function
      

  3.   

    不管你写什么代码,只要是自定义的ActiveX控件客户端原来没有的,你需要通过添加数字签名并标注脚本和初始化安全状态。自己签名没有用的,必须通过几个有资质的签名公司来增加签名。根据客户端的安全设置,默认情况下(中级)IE根本不下载未签名的控件。签名控件,客户会被提示是否安装该控件。
      

  4.   

    二楼的“先注册 regsvr32 check.dll”是客户端注册。不过偶实在不相信能够通过JS,在不修改安全设置的情况下这条语句能执行。
      

  5.   

    晕,ativex dll?是COM对象,你直接在Com中注册啊.它是服务器调用的.你做成Activex控件不就行了,它可以自动下载到浏览器中.然后用JS控制.
    to:ccton,肯定要在浏览器中降低安全性,否则要报错
      

  6.   

    楼上的,你评什么要求所有的客户端都降低安全性??? 我就宁愿不用这个控件.自己开发的组件最好用在能够控制数量的Intranet中,否则得不偿失.(敢问当你第一次访问一个默生站点时你会允许你那样做么?)
      

  7.   

    to: DwNet(DwNet) 偶觉得不会报错吧? 除非你想直接用 shell 去执行。一般也不这样用的。正常的用法是:<object clsid=... codebase=... >parma..</boject>
    根据安全设置和签名情况以及版本,客户端原有的该clsid安装情况,IE决定是否下载及安装,或者是否发出安装提示。
      

  8.   

    用<object></object>引用,然后让它自动运行
      

  9.   

    晕,ativex dll?是COM对象,你直接在Com中注册啊.它是服务器调用的.你做成Activex控件不就行了,它可以自动下载到浏览器中.然后用JS控制.
    to:ccton,肯定要在浏览器中降低安全性,否则要报错TO:DwNet(DwNet)具体该怎么做?我的想法能实现吗——检测客户端软件加密锁信息,依此确定用户的合法性。该怎么实现?哪位大哥帮我一下忙呀,详细解答一下。
      

  10.   

    ploughsky(至少还有我):I want to know!!!!
    can you tell me?