嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
没有VB.NET选项,只能归为C#分类了,反正共用的是.NET思路差不多。
使用VS2010编译通过,越过UAC(用户控制)提升权限设置WIN7以上的系统时间(修改app.manifest)。网页对时,避开其它对时方法限制和速度慢的缺点。 对时极速,代码量估计是全网里最精简的了,代码通俗易懂。所以给小弟3分也 不足为过吧。 代码1在C#和VB.NET的思路通用,代码2为VB.NET特有,后者代码少半。 具体说明: 1.代码1在C#和VB.NET的思路通用,代码2为VB.NET特有,代码2代码量少半。 2.由于修改了项目属性app.manifest,所以打开项目时会提示你提升权限,请选择“使用其他凭据重新启动”即可。 3.用C#的朋友,可以按我的VB.NET代码思路对应重写一遍,注意VB.NET代码中SetSystemTime(st)改为C#代码时要变为SetSystemTime(ref st)。说实话,感觉C#和VB.NET语法用意基本一致。 4.VB.NET中设置系统时间可以简单使用Today = sk和TimeOfDay = sk,而C#好像没有此用法。
Public Class Form1
Private Sub 对时_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 对时.Click
Dim thr As Thread
thr = New Thread(AddressOf dsh)
thr.IsBackground = True '设置这个目的是为了随主程序关闭而关闭本线程
thr.Start()
End Sub
Public Sub dsh() '网络对时
Try
Dim sp$
Dim sk As DateTime '时刻
sp = dw("http://www.beijing-time.org/time15.asp", System.Text.Encoding.Default)
sk = DateTime.ParseExact(Regex.Match(sp, "(?<=nyear=)[\s\S]*?(?=;)").Value & "-" & Regex.Match(sp, "(?<=nmonth\=)[\s\S]*?(?=;)").Value & "-" & Regex.Match(sp, "(?<=nday\=)[\s\S]*?(?=;)").Value & " " & Regex.Match(sp, "(?<=nhrs\=)[\s\S]*?(?=;)").Value & ":" & Regex.Match(sp, "(?<=nmin\=)[\s\S]*?(?=;)").Value & ":" & Regex.Match(sp, "(?<=nsec\=)[\s\S]*?(?=;)").Value, "yyyy-M-d H:m:s", CultureInfo.InvariantCulture)
sp = Now
Today = sk
TimeOfDay = sk
Me.Invoke(Sub()
MsgBox("对时前:" & sp & vbCrLf & "对时后:" & sk.ToString)
End Sub)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Function dw(ByVal sss$, ByVal ec As System.Text.Encoding) As String '提取网页信息,sss为网址,s=网页代码
dw = ""
Try
Return New StreamReader(WebRequest.Create(sss).GetResponse().GetResponseStream(), ec).ReadToEnd()
Catch ex As Exception
End Try
End Function
End Class