服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

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


发布日期:2020年11月09日
 
用ASP+DLL实现WEB方式修改服务器时间

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

工程名称systimeset
类模块名称timeset

VB 的类模块代码如下

OptionExplicit
PrivateSystemTimeAsSystemTime
PrivateDeclareFunctionSetSystemTime()FunctionSetSystemTimeLib"kernel"(lpSystemTimeAsSystemTime)AsLong
PrivateTypeSystemTime
wYearAsInteger
wMonthAsInteger
wDayOfWeekAsInteger
wDayAsInteger
wHourAsInteger
wMinuteAsInteger
wSecondAsInteger
wMillisecondsAsInteger
EndType

Dimtmp

Privatem_HourAsInteger
Privatem_MinuteAsInteger
Privatem_YearAsInteger
Privatem_MonthAsInteger
Privatem_DayAsInteger
Privatem_SecondAsInteger

由李锡远修改 修改日期 修改项目增加对年秒的操作


PublicPropertyGet()PropertyGetYear()AsInteger
Year=m_Year
EndProperty
PublicPropertyLet()PropertyLetYear(tmp_YearAsInteger)
m_Year=tmp_Year
EndProperty


PublicPropertyGet()PropertyGetMonth()AsInteger
Month=m_Month
EndProperty
PublicPropertyLet()PropertyLetMonth(tmp_MonthAsInteger)
m_Month=tmp_Month
EndProperty


PublicPropertyGet()PropertyGetDay()AsInteger
Day=m_Day
EndProperty
PublicPropertyLet()PropertyLetDay(tmp_DayAsInteger)
m_Day=tmp_Day
EndProperty


PublicPropertyGet()PropertyGetSecond()AsInteger
Second=m_Second
EndProperty
PublicPropertyLet()PropertyLetSecond(tmp_SecondAsInteger)
m_Second=tmp_Second
EndProperty



PublicPropertyGet()PropertyGetHour()AsInteger
Hour=m_Hour
EndProperty
PublicPropertyLet()PropertyLetHour(tmp_HourAsInteger)
m_Hour=tmp_Hour
EndProperty
PublicPropertyGet()PropertyGetMinute()AsInteger
Minute=m_Minute
EndProperty
PublicPropertyLet()PropertyLetMinute(tmp_MinuteAsInteger)
m_Minute=tmp_Minute
EndProperty




PublicFunctionsetup()Functionsetup()AsInteger
SystemTimewDay=Day
SystemTimewDayOfWeek=
SystemTimewMilliseconds=
SystemTimewMonth=Month
SystemTimewSecond=Second
SystemTimewYear=Year
SystemTimewHour=Hour
SystemTimewMinute=Minute
setup=SetSystemTime(SystemTime)

EndFunction

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


在上面的设置完毕后使用systimesetdll组件的ASP代码页面如下

将其编译为systimesetdll的文件

<%@language="vbscript"%>
<%
functionSetTime(strYearstrMonthstrDay)
responseExpires=
setobj=servercreateobject("systimesettimeset")
objYear=strYear
objMonth=strMonth
objDay=strDay
ifHour(now())>then
objHour=Hour(now())
else
objHour=
endif
objMinute=Minute(now())
objSecond=Second(now())
objsetup

setobj=Nothing
endfunction

ifrequest("act")="modi"then
callSetTime(requestForm("strYear")requestForm("strMonth")requestForm

("strDay"))
endif
%>
<formid="form"name="form"method="post"action="?act=modi">
<tablewidth=""border="">
<tr>
<tdwidth=""><inputname="strYear"type="text"id="strYear"value="<%=Year(now())%>"

size=""/></td>
<tdwidth=""><inputname="strMonth"type="text"id="strMonth"value="<%=Month(now

())%>"size=""/></td>
<tdwidth=""><inputname="strDay"type="text"id="strDay"value="<%=Day(now())%>"

size=""/></td>
<tdwidth=""><inputtype="submit"name="Submit"value="修改日期"/></td>
</tr>
</table>
</form>


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

上一篇:如何在网页中显示服务器时间(asp)

下一篇:Google免费的SVN服务器管理VS2010代码