首先,在VB 6.0中建立一個ActiveX Dll工程項目,信息如下:
工程名稱:systimeset
類模塊名稱:timeset
VB 6.0的類模塊代碼如下:
1

Option Explicit
2

Private SystemTime As SystemTime
3


Private Declare Function SetSystemTime()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()Property Get Year() As Integer
28

Year = m_Year
29

End Property
30


Public Property Let()Property Let Year(tmp_Year As Integer)
31

m_Year = tmp_Year
32

End Property
33

'--------------------
34

'月
35


Public Property Get()Property Get Month() As Integer
36

Month = m_Month
37

End Property
38


Public Property Let()Property Let Month(tmp_Month As Integer)
39

m_Month = tmp_Month
40

End Property
41

'--------------------
42

'日
43


Public Property Get()Property Get Day() As Integer
44

Day = m_Day
45

End Property
46


Public Property Let()Property Let Day(tmp_Day As Integer)
47

m_Day = tmp_Day
48

End Property
49

'--------------------
50

'秒
51


Public Property Get()Property Get Second() As Integer
52

Second = m_Second
53

End Property
54


Public Property Let()Property Let Second(tmp_Second As Integer)
55

m_Second = tmp_Second
56

End Property
57

58

59

60


Public Property Get()Property Get Hour() As Integer
61

Hour = m_Hour
62

End Property
63


Public Property Let()Property Let Hour(tmp_Hour As Integer)
64

m_Hour = tmp_Hour
65

End Property
66


Public Property Get()Property Get Minute() As Integer
67

Minute = m_Minute
68

End Property
69


Public Property Let()Property Let Minute(tmp_Minute As Integer)
70

m_Minute = tmp_Minute
71

End Property
72

73

74

75

76


Public Function setup()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:WINDOWSsystem32下;
2、在開始菜單的運行裡面輸入:regsvr32 systimeset.dll (敲回車啊)
3、因為修改服務器的時間,INTERNET來賓帳戶不具有該權限,設立權限請打開控制面版中的“管理工具”,然後打開“本地安全策略”--“用戶權力指派”,雙擊“更改系統時間”,在彈出的對話框中點“添加用戶或組”,將INETNET來賓帳戶加入進來。
4、一切完畢後,將IIS服務重新啟動一次。
在上面的設置完畢後,使用systimeset.dll組件的ASP代碼頁面如下:
將其編譯為systimeset.dll的文件。
1

<% @language="vbscript" %>
2

<%
3

function SetTime(strYear,strMonth,strDay)
4

response.Expires=0
5

set 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

18

set obj=Nothing
19

end function
20

21

if request("act")="modi" then
22

call SetTime(request.Form("strYear"),request.Form("strMonth"),request.Form
23

24

("strDay"))
25

end 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

32

size="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

38

size="5" /></td>
39

<td width="98"><input type="submit" name="Submit" value="修改日期" /></td>
40

</tr>
41

</table>
42

</form>
43
將上面的ASP代碼頁面粘貼到一個空的ASP文件中,然後在IIS中將站點設置好就可以了。(設置IIS虛擬目錄也可以的。)