精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ASP教程>正文

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


来源: 时间:07-02-26 点击: 点击这里收藏本文
  昨天一个朋友有个需求,是要通过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的类模块代码如下:

 1 Option   Explicit
 2 Private  SystemTime  As  SystemTime
 3 Private   Declare   Function  SetSystemTime  Lib   " kernel32 "  (lpSystemTime  As  SystemTime)  As   Long
 4 Private  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
13 End  Type
14
15 Dim  tmp
16
17 Private  m_Hour  As   Integer
18 Private  m_Minute  As   Integer
19 Private  m_Year  As   Integer
20 Private  m_Month  As   Integer
21 Private  m_Day  As   Integer
22 Private  m_Second  As   Integer
23
24 '由李锡远修改     修改日期:2006-08-31     修改项目:增加对年、月、日、秒的操作
25 ' --------------------
26 '年
27 Public   Property   Get   Year ()  As   Integer
28 Year   =  m_Year
29 End Property

30 Public   Property  Let  Year (tmp_Year  As   Integer )
31 m_Year  =  tmp_Year
32 End Property

33 ' --------------------
34 '
35 Public   Property   Get   Month ()  As   Integer
36 Month   =  m_Month
37 End Property

38 Public   Property  Let  Month (tmp_Month  As   Integer )
39 m_Month  =  tmp_Month
40 End Property

41 ' --------------------
42 '
43 Public   Property   Get   Day ()  As   Integer
44 Day   =  m_Day
45 End Property

46 Public   Property  Let  Day (tmp_Day  As   Integer )
47 m_Day  =  tmp_Day
48 End Property

49 ' --------------------
50 '
51 Public   Property   Get   Second ()  As   Integer
52 Second   =  m_Second
53 End Property

54 Public   Property  Let  Second (tmp_Second  As   Integer )
55 m_Second  =  tmp_Second
56 End Property

57
58
59
60 Public   Property   Get   Hour ()  As   Integer
61 Hour   =  m_Hour
62 End Property

63 Public   Property  Let  Hour (tmp_Hour  As   Integer )
64 m_Hour  =  tmp_Hour
65 End Property

66 Public   Property   Get   Minute ()  As   Integer
67 Minute   =  m_Minute
68 End Property

69 Public   Property  Let  Minute (tmp_Minute  As   Integer )
70 m_Minute  =  tmp_Minute
71 End Property

72
73
74
75
76 Public   Function  setup()  As   Integer
77 SystemTime.wDay  =   Day
78 ' SystemTime.wDayOfWeek = 1
79 SystemTime.wMilliseconds  =   0
80 SystemTime.wMonth  =   Month
81 SystemTime.wSecond  =   Second
82 SystemTime.wYear  =   Year
83 SystemTime.wHour  =   Hour
84 SystemTime.wMinute  =   Minute
85 setup  =  SetSystemTime(SystemTime)
86
87 End Function

88

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


在上面的设置完毕后,使用systimeset.dll组件的ASP代码页面如下:
9 7 3 1 2 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

Copyright © 2005 - 2006 建站学 All rights reserved.