用ASP+DLL实现WEB方式修改服务器时间

2016-02-19 19:30 11 1 收藏

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享用ASP+DLL实现WEB方式修改服务器时间教程,希望对大家能有一点小小的帮助。

【 tulaoshi.com - Web开发 】

  昨天一个朋友有个需求,是要通过WEB方式,修改IIS服务器上的时间,由于他的系统是ASP 3.0下开发的,所以本例子的代码是ASP的,不是ASP.NET,但是本人写这个文章是想抛砖引玉,毕竟编写程序关键的不是语言,更重要的是一种思想,把程序语言理解为一种工具,把编程思想理解为解决问题的思路和方法,那么编写出来的程序就是:利用“工具”按照解决问题的“思想”去解决一个问题。

  首先,要感谢网友“小虎”,我是在网上看了他写的一篇关于用VB 6.0编写DLL组件FOR ASP的文章改写的,他的DLL代码只实现了改写小时和分钟,我增加了年、月、日、秒的修改。

  首先,在VB 6.0中建立一个ActiveX Dll工程项目,信息如下:

  工程名称:systimeset
  类模块名称:timeset

  VB 6.0的类模块代码如下:

  
   1Option Explicit
   2Private SystemTime As SystemTime
   3Private Declare Function SetSystemTime()Function SetSystemTime Lib "kernel32" (lpSystemTime As SystemTime) As Long
   4Private Type SystemTime
   5        wYear As Integer
   6        wMonth As Integer
   7        wDayOfWeek As Integer
   8        wDay As Integer
   9        wHour As Integer
  10        wMinute As Integer
  11        wSecond As Integer
  12        wMilliseconds As Integer
  13End Type
  14
  15Dim tmp
  16
  17Private m_Hour As Integer
  18Private m_Minute As Integer
  19Private m_Year As Integer
  20Private m_Month As Integer
  21Private m_Day As Integer
  22Private m_Second As Integer
  23
  24'由李锡远修改     修改日期:2006-08-31     修改项目:增加对年、月、日、秒的操作
  25'--------------------
  26'年
  27Public Property Get()Property Get Year() As Integer
  28Year = m_Year
  29End Property
  30Public Property Let()Property Let Year(tmp_Year As Integer)
  31m_Year = tmp_Year
  32End Property
  33'--------------------
  34'月
  35Public Property Get()Property Get Month() As Integer
  36Month = m_Month
  37End Property
  38Public Property Let()Property Let Month(tmp_Month As Integer)
  39m_Month = tmp_Month
  40End Property
  41'--------------------
  42'日
  43Public Property Get()Property Get Day() As Integer
  44Day = m_Day
  45End Property
  46Public Property Let()Property Let Day(tmp_Day As Integer)
  47m_Day = tmp_Day
  48End Property
  49'--------------------
  50'秒
  51Public Property Get()Property Get Second() As Integer
  52Second = m_Second
  53End Property
  54Public Property Let()Property Let Second(tmp_Second As Integer)
  55m_Second = tmp_Second
  56End Property
  57
  58
  59
  60Public Property Get()Property Get Hour() As Integer
  61Hour = m_Hour
  62End Property
  63Public Property Let()Property Let Hour(tmp_Hour As Integer)
  64m_Hour = tmp_Hour
  65End Property
  66Public Property Get()Property Get Minute() As Integer
  67Minute = m_Minute
  68End Property
  69Public Property Let()Property Let Minute(tmp_Minute As Integer)
  70m_Minute = tmp_Minute
  71End Property
  72
  73
  74
  75
  76Public Function setup()Function setup() As Integer
  77SystemTime.wDay = Day
  78'SystemTime.wDayOfWeek = 1
  79SystemTime.wMilliseconds = 0
  80SystemTime.wMonth = Month
  81SystemTime.wSecond = Second
  82SystemTime.wYear = Year
  83SystemTime.wHour = Hour
  84SystemTime.wMinute = Minute
  85setup = SetSystemTime(SystemTime)
  86
  87End Function
  88
  将其编译为systimeset.dll的文件。

  关于DLL的注册,通常VB在本机上编译后,会自动将DLL注册;但如果你要放到IIS服务器上,请使用如下方法:
  1、将systimeset.dll拷贝到c:WINDOWSsystem32下;
  2、在开始菜单的运行里面输入:regsvr32 systimeset.dll     (敲回车啊)
  3、因为修改服务器的时间,INTERNET来宾帐户不具有该权限,设立权限请打开控制面版中的“管理工具”,然后打开“本地安全策略”--“用户权力指派”,双击“更改系统时间”,在弹出的对话框中点“添加用户或组”,将INETNET来宾帐户加入进来。
  4、一切完毕后,将IIS服务重新启动一次。

  
  在上面的设置完毕后,使用systimeset.dll组件的ASP代码页面如下:

  
   1% @language="vbscript" %
   2%
   3function SetTime(strYear,strMonth,strDay)
   4response.Expires=0
   5set obj=server.createobject("systimeset.timeset")
   6    obj.Year=strYear
   7    obj.Month=strMonth
   8    obj.Day=strDay
   9    if Hour(now())-80 then
  10    obj.Hour=Hour(now())-8
  11    else
  12    obj.Hour=8
  13    end if
  14    obj.Minute=Minute(now())
  15    obj.Second=Second(now())
  16    obj.setup
  17
  18set obj=Nothing
  19end function
  20
  21if request("act")="modi" then
  22    call SetTime(request.Form("strYear"),request.Form("strMonth"),request.Form
  23
  24("strDay"))
  25end if
  26%
  27form id="form1" name="form1" method="post" action="?act=modi"
  28  table width="290" border="0"
  29    tr
  30      td width="77"input name="strYear" type="text" id="strYear" value="%=Year(now())%"
  31
  32size="8" //td
  33      td width="49"input name="strMonth" type="text" id="strMonth" value="%=Month(now
  34
  35())%" size="5" //td
  36      td width="48"input name="strDay" type="text" id="strDay" value="%=Day(now())%"
  37
  38size="5" //td
  39      td width="98"input type="submit" name="Submit" value="修改日期" //td
  40    /tr
  41  /table
  42/form
  43
  以上是所有实现的代码,有问题可以加我QQ:17020415

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  将上面的ASP代码页面粘贴到一个空的ASP文件中,然后在IIS中将站点设置好就可以了。(设置IIS虚拟目录也可以的。)

  http://www.cnblogs.com/lixyvip/archive/2006/09/02/492693.html

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1621187.html

延伸阅读
标签: ASP
  大家知道直接使用ASP是不能够重启服务器的,这时我们需要制作一个组件来实现功能,ASP通过这个组件调用系统API,然 后按照不同的重启和关机方式进行操作!            下面先说COM的制作,在VB中新建一工程,当然是AceiveX dll的!      1)先修改工程属性...
---- 摘要:在Java出现之前,编写多线程程序是一件烦琐且伴随许多不安全因素的事情。利用Java,编写安全高效的多线程程序变得简单,而且利用多线程和Java的网络包我们可以方便的实现多线程服务器程序。 ---- Java是伴随Internet的大潮产生的,对网络及多线程具有内在的支持,具有网络时代编程语言的一切特点。从Java的当前应用看...
标签: Web开发
音乐服务器(Music Server)是指一个提供音乐在线服务的服务器,它包括高端提供门户服务的网站、Web数据库和低端的操作平台、硬件设施。目前,在Internet和Intranet上有不少这样的站点,特别是在一些高速宽带的局域网中(如校园网),音乐服务器给上网的朋友提供了休闲娱乐的好去处,同时也给网站带来了较高的访问率。   ----像其他站点...
标签: ASP
  使用ASP编程的一大优点是可以使用众多的服务器组件(ActiveX Server Components)。这些组件提供诸如广告轮显 (Ad Rotator)、浏览器兼容(Browser Capabilities)、数据库存取(Database Access)、文件超链接(Content Linking)、文件存取(File Access)等等功能。使用服务器组件,可以通过非常简单的方式高效率地完成各种复杂的工...
标签: ASP
  重庆出版社电脑中心 陈刚 1.什么是ASP服务器组件 ASP(Active Server Page)是当今开发交互式Web页面、Web数据库应用最强大的技术。在其中可以混用HTML、DHTML、 ActiveX、VBScript或JavaScript。当这些技术都无法奏效时(例如进行高密度的数学运算、封装特定的数据库处理逻辑 等),可以使用服务器组件(Server SideComponent)进一...

经验教程

618

收藏

9
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部