Hvordan endre systemet date med Visual Basic

Hvordan endre systemet date med Visual Basic


Det er forskjellige grunner til å endre klokkeslett og dato på en vertsmaskin fra innenfor et Visual Basic-program. Kanskje du bygger tidssone programvare eller nettverkstidssynkroniseringsprogramvare. Selv om .NET rammeverket ikke smertefritt tillate å endre systemtiden fra Visual Basic, er det mulig å importere en innfødt Windows dynamisk lenket bibliotek (DLL) for å gjøre jobben for deg. Bruke InteropServices og ComponentModel navnerom lar deg importere DLL, og påkalle den eksterne metoden.

Bruksanvisning

1 Opprett en ny fil i Visual Basic-prosjektet og gi den navnet "SysTime.vb".

2 Kopier og lim inn følgende kode inn i den nye filen:
importen System
import System.Runtime.InteropServices
importen System.ComponentModel

klasse SysTime

<StructLayoutAttribute (LayoutKind.Sequential)>
struktur SystemTime
Offentlig år så kort
Offentlig måned så kort
Offentlig dayOfWeek Som Short
Offentlig dag så kort
Offentlig time så kort
Offentlig minutters Som Short
Offentlig andre så kort
Offentlige millisekunder så kort
End Structure

<DllImport (\ "kernel32.dll \")>
Privat felles funksjon SetSystemTime (systime som SystemTime ByRef) som boolsk

Offentlig Delt Sub Still (tid som SystemTime)
SysTime.SetSystemTime (tid)
End Sub
End Class

3 Kaller funksjonen ved å kopiere og lime inn følgende kode inn i hovedsløyfen av programmet:
Dim setTimeTo som SysTime.SystemTime

setTimeTo.year = 0
setTimeTo.month = 0
setTimeTo.dayOfWeek = 0
setTimeTo.day = 0
setTimeTo.hour = 0
setTimeTo.minute = 0
setTimeTo.second = 0
setTimeTo.milliseconds = 0
SysTime.Set (setTimeTo) = 0

4 Endre nuller i forrige trinn til uansett tid du vil at systemet tid til å være.

Hint

  • Dette krever at kallet programmet har fått SeSystemtimePrivilege og at dette privilegiet er aktivert.