CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

关于远程注册的问题

楼主jackybtos(jacky)2003-06-02 00:28:04 在 Web 开发 / ASP 提问

请问能不能实现在客户端远程注册在服务器上的DLL,注册以后,客户端能正常调用它!请各位大侠,帮帮我! 问题点数:0、回复次数:1Top

1 楼jshao(临渊羡鱼,不如退而结网)回复于 2003-06-02 07:31:18 得分 0

给你转载一篇  
  利用ASP远程注册DLL的方法  
  --------------------------  
  <%   Response.Buffer   =   True   %>  
  <%   Server.ScriptTimeout   =   500    
  Dim   frmFolderPath,   frmFilePath  
   
  frmFolderPath   =   Request.Form("frmFolderPath")  
  frmFilePath   =   Request.Form("frmDllPath")  
  frmMethod   =   Request.Form("frmMethod")  
  btnREG   =   Request.Form("btnREG")  
  %>  
   
  <HTML>  
  <HEAD>  
  <TITLE>Regsvr32.asp</TITLE>  
  <STYLE   TYPE="TEXT/CSS">  
  .Legend   {FONT-FAMILY:   veranda;   FONT-SIZE:   14px;   FONT-WEIGHT:   bold;   COLOR:   blue}  
  .FS   {FONT-FAMILY:   veranda;   FONT-SIZE:   12px;   BORDER-WIDTH:   4px;   BORDER-COLOR:   green;  
  MARGIN-LEFT:2px;   MARGIN-RIGHT:2px}  
  TD   {MARGIN-LEFT:6px;   MARGIN-RIGHT:6px;   PADDING-LEFT:12px;   PADDING-RIGHT:12px}  
  </STYLE>  
  </HEAD>  
   
  <BODY>  
  <FORM   NAME="regForm"   METHOD="POST">  
  <TABLE   BORDER=0   CELLSPACING=6   CELLPADDING=6   MARGINWIDTH=6>  
  <TR>  
  <TD   VALIGN=TOP>  
  <FIELDSET   ID=FS1   NAME=FS1   CLASS=FS>  
  <LEGEND   CLASS=Legend>Regsvr   Functions</LEGEND>  
  Insert   Path   to   DLL   Directory<BR>  
  <INPUT   TYPE=TEXT   NAME="frmFolderPath"   VALUE="<%=frmFolderPath%>"><BR>  
  <INPUT   TYPE=SUBMIT   NAME=btnFileList   VALUE="Build   File   List"><BR>  
  <%    
  IF   Request.Form("btnFileList")   <>   ""   OR   btnREG   <>   ""   Then  
  Set   RegisterFiles   =   New   clsRegister  
  RegisterFiles.EchoB("<B>Select   File</B>")  
  Call   RegisterFiles.init(frmFolderPath)  
  RegisterFiles.EchoB("<BR><INPUT   TYPE=SUBMIT   NAME=btnREG   VALUE="   &   Chr(34)   _  
  &   "REG/UNREG"   &   Chr(34)   &   ">")  
  IF   Request.Form("btnREG")   <>   ""   Then  
  Call   RegisterFiles.Register(frmFilePath,   frmMethod)  
  End   IF  
  Set   RegisterFiles   =   Nothing  
  End   IF  
  %>  
  </FIELDSET>  
  </TD>  
  </TR>  
  </TABLE>  
  </FORM>  
  </BODY>  
  </HTML>  
  <%  
  Class   clsRegister  
   
  Private   m_oFS    
   
  Public   Property   Let   oFS(objOFS)  
  m_oFS   =   objOFS  
  End   Property  
   
  Public   Property   Get   oFS()  
  Set   oFS   =   Server.CreateObject("Scripting.FileSystemObject")  
  End   Property  
   
   
  Sub   init(strRoot)   'Root   to   Search   (c:,   d:,   e:)  
  Dim   oDrive,   oRootDir  
  IF   oFS.FolderExists(strRoot)   Then  
  IF   Len(strRoot)   <   3   Then   'Must   Be   a   Drive  
  Set   oDrive   =   oFS.GetDrive(strRoot)  
  Set   oRootDir   =   oDrive.RootFolder  
  Else  
  Set   oRootDir   =   oFS.GetFolder(strRoot)  
  End   IF  
  Else  
  EchoB("<B>Folder   (   "   &   strRoot   &   "   )   Not   Found.")  
  Exit   Sub  
  End   IF  
  setRoot   =   oRootDir  
   
  Echo("<SELECT   NAME="   &   Chr(34)   &   "frmDllPath"   &   Chr(34)   &   ">")  
  Call   getAllDlls(oRootDir)  
  EchoB("</SELECT>")  
  BuildOptions  
  End   Sub  
   
  Sub   getAllDlls(oParentFolder)  
  Dim   oSubFolders,   oFile,   oFiles  
  Set   oSubFolders   =   oParentFolder.SubFolders  
  Set   opFiles   =   oParentFolder.Files  
   
  For   Each   oFile   in   opFiles  
  IF   Right(lCase(oFile.Name),   4)   =   ".dll"   OR   Right(lCase(oFile.Name),   4)   =   ".ocx"   Then  
  Echo("<OPTION   VALUE="   &   Chr(34)   &   oFile.Path   &   Chr(34)   &   ">"   _  
  &   oFile.Name   &   "</Option>")  
  End   IF  
  Next  
   
  On   Error   Resume   Next  
  For   Each   oFolder   In   oSubFolders   'Iterate   All   Folders   in   Drive  
  Set   oFiles   =   oFolder.Files  
  For   Each   oFile   in   oFiles  
  IF   Right(lCase(oFile.Name),   4)   =   ".dll"   OR   Right(lCase(oFile.Name),   4)   =   ".ocx"   Then  
  Echo("<OPTION   VALUE="   &   Chr(34)   &   oFile.Path   &   Chr(34)   &   ">"   _  
  &   oFile.Name   &   "</Option>")  
  End   IF  
  Next  
  Call   getAllDlls(oFolder)  
  Next  
  On   Error   GoTo   0  
  End   Sub  
   
  Sub   Register(strFilePath,   regMethod)  
  Dim   theFile,   strFile,   oShell,   exitcode  
  Set   theFile   =   oFS.GetFile(strFilePath)  
  strFile   =   theFile.Path  
   
  Set   oShell   =   CreateObject   ("WScript.Shell")  
   
  IF   regMethod   =   "REG"   Then   'Register  
  oShell.Run   "c:\WINNT\system32\regsvr32.exe   /s   "   &   strFile,   0,   False  
  exitcode   =   oShell.Run("c:\WINNT\system32\regsvr32.exe   /s   "   &   strFile,   0,   False)  
  EchoB("regsvr32.exe   exitcode   =   "   &   exitcode)  
  Else   'unRegister  
  oShell.Run   "c:\WINNT\system32\regsvr32.exe   /u/s   "   &   strFile,   0,   False  
  exitcode   =   oShell.Run("c:\WINNT\system32\regsvr32.exe   /u/s   "   &   strFile,   0,   False)  
  EchoB("regsvr32.exe   exitcode   =   "   &   exitcode)  
  End   IF  
   
  Cleanup   oShell  
  End   Sub  
   
  Sub   BuildOptions  
  EchoB("Register:   <INPUT   TYPE=RADIO   NAME=frmMethod   VALUE=REG   CHECKED>")  
  EchoB("unRegister:   <INPUT   TYPE=RADIO   NAME=frmMethod   VALUE=UNREG>")  
  End   Sub  
   
  Function   Echo(str)  
  Echo   =   Response.Write(str   &   vbCrLf)  
  End   Function  
   
  Function   EchoB(str)  
  EchoB   =   Response.Write(str   &   "<BR>"   &   vbCrLf)  
  End   Function  
   
  Sub   Cleanup(obj)  
  If   isObject(obj)   Then  
  Set   obj   =   Nothing  
  End   IF  
  End   Sub  
   
  Sub   Class_Terminate()  
  Cleanup   oFS  
  End   Sub  
  End   Class  
  %>  
  Top

相关问题

  • 远程注册DLL组件
  • 有人知道远程类注册在VB怎么用吗?
  • 有没有修改远程注册表的API
  • 如何删除已经注册的远程数据模块?
  • 如何禁止注册表被远程修改
  • 请问能不能远程注册ASP对象?
  • 如何通过代理注册远程服务器?
  • 如何用vb读取远程计算机的注册表?
  • 数据库远程不能注册?在线等!
  • 请教如何访问远程服务器的注册表?

关键词

得分解答快速导航

  • 帖主:jackybtos

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo