分享
 
 
 

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

王朝asp·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

昨天一个朋友有个需求,是要通过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:\WINDOWS\system32下;

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())-8>0 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%>

27<form 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

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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有