打印本文 打印本文  关闭窗口 关闭窗口
在ASP页里面注册DLL的VBScript CLASS
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 14:20:02
lnIsChange = true
            end if
        next
        if blnIsChange then
            ReAllNode = true
            call s_objXml.save(s_strXmlPath)
        else
            ReAllNode = false
        end if     
    end function
    
    '-----------------------------------------
    '目的:    删除某一个节点
    '参数:    节点内容
    '返回:    找不到节点就返回TRUE
    '-----------------------------------------
    public function ReNode(strPath)
        dim objNode
        set objNode = SelectNode(strPath)
        if objNode is nothing then
            ReNode = true
        else
            call s_objNodeRoot.removeChild(objNode)
            call s_objXml.save(s_strXmlPath)
        end if
    end function
    
    
    '-----------------------------------------
    '目的:    寻找某个节点
    '参数:    strPath:   节点内容
    '返回:    找到就返回该节点,找不到就返回nothing
    '-----------------------------------------
    private function SelectNode(ByVal strPath)
        dim objNode
        strPath = UCase(strPath)
        for each objNode in s_objNodeRoot.childNodes
            if UCase(objNode.childNodes.item(0).nodeValue) = strPath then
                Set SelectNode = objNode
                exit function
            end if
        next
        set SelectNode = nothing
    end function
    
    '--------------------------------------------
    '目的:    查看DLL文件列表里某个文件注册状态
    '参数:    该文件路径
    '返回:    1=已经注册
    '          0=未注册
    '          -1=找不到该文件
    '--------------------------------------------
    public function CheckDll(strPath)
        dim objNode
        set objNode = SelectNode(strPath)
        if objNode is nothing then
            CheckDll = -1
        else
            CheckDll = Cint(objNode.Attributes.getNamedItem(s_strAttributeName).nodeValue)
        end if
    end function
    
    '--------------------------------------
    '目的:    将所有未注册的DLL注册
    '返回:    如果有某个DLL注册失败就返回TRUE
    '--------------------------------------
    public function RegAllNode()
        dim objNode
        for each objNode in s_objNodeRoot.childNodes
            if objNode.Attributes.getNamedItem(s_strAttributeName).nodeValue = "0" then
                if Reg(objNode.childNodes.item(0).nodeValue , true) then
                    objNode.Attributes.getNamedItem(s_strAttributeName).nodeValue = 1
                else
                    RegAllNode = true
                end if
            end if
        next
    end function
    
    '-----------------------------------------
    '目的:    注册DLL
    '参数:    strPath:    要注册Dll文件路径
    '          blnLoding:    是否等待注册完成才继续执行程序
    '返回:    如果blnLoging=TRUE,注册成功就返回True
    '-----------------------------------------
    private function Reg(strPath , blnLoding)    
        dim objShell
        set objShell = CreateObject("Wscript.Shell")
        if objShell.Run("regsvr32.exe /s " & strPath , , blnLoding) = 0 then
            Reg = true
        end if
        set objShell = nothing
    end function
    
End Class

上一页  [1] [2] 



打印本文 打印本文  关闭窗口 关闭窗口