推荐答案
三百六十度跳投
2014.05.07
采纳率:66% 等级:18
已帮助:2533人
很多软件都占有端口的,比如迅雷是80,qq是8080,如果相同端口的软件先启动了,那后启动的服务器就不工作了
所有要先检测端口是否被其他的软件占用,在启动服务器,如果占用要给个提示,
以前搞过netbox的服务器(www.netbox.cn),可以实现这个
im httpd
Shell.Service.icon = "\status\on.gif"
Shell.Service.RunService "Webserver", "Webserver", "Webserver off"
'---------------------- 服务事件开始 ---------------------
Sub OnServiceStart()
Shell.Service.SetTimer 100
Set httpd = CreateObject("netbox.HttpServer")
If httpd.Create("", 80) = 0 Then
Set host = httpd.AddHost("", "\wwwroot")
host.EnableWrite=false
host.EnableScript = true
host.AddDefault "default.asp"
host.AddDefault "default.htm"
host.AddDefault "default.html"
host.AddDefault "index.asp"
host.AddDefault "index.htm"
host.AddDefault "index.html"
httpd.Start
else
Shell.MsgBox "服务器启动失败,80端口被占用!可能您的系统iis或迅雷在运行,终止后重试!","错误对话框"
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd.Close
End Sub
Sub OnServicePause()
Shell.Service.Icon = "\status\off.gif"
Shell.MsgBox "服务器暂停运行!","暂停运行"
End Sub
Sub OnServiceResume()
OnServiceTimer
httpd.Start
End Sub
00分享举报
此回答由管理员 lxd0128 推荐为最佳回答。