Nachfolgender Code zeigt, wie sich Datum und Uhrzeit eines Netzwerk-Rechners ermitteln lassen, um z.B. einen Zeitabgleich für den eigenen Rechner durchzuführen. ' Benötigte API-Deklarationen Private Declare Function NetRemoteTOD Lib "netapi32.dll" ( _ UncServerName As Any, _ lpBuffer As Long) As Long Private Declare Function NetApiBufferFree Lib "netapi32.dll" ( _ ByVal lpBuffer As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" ( _ Destination As Any, _ ByVal Source As Any, _ ByVal Length As Long) Private Type TIME_OF_DAY_INFO tod_elapsedt As Long tod_msecs As Long tod_hours As Long tod_mins As Long tod_secs As Long tod_hunds As Long tod_timezone As Long tod_tinterval As Long tod_day As Long tod_month As Long tod_year As Long tod_weekday As Long End Type ' Zeit-Infos eines Rechners ermitteln Public Function GetNetTime(ByVal sServer As String) As Date Dim nBuffer As Long Dim nResult As Long Dim uTIME As TIME_OF_DAY_INFO Dim bServer() As Byte If Trim$(sServer) = "" Then ' Eingestellte Zeit des eigenen Rechners ermitteln nResult = NetRemoteTOD(vbNullString, nBuffer) Else ' Name des Servers muss als Byte-Array ' übergeben werden! bServer = sServer & vbNullChar nResult = NetRemoteTOD(bServer(0), nBuffer) End If If nResult = 0 Then ' Ergebnis in TIME_OF_DAY_INFO Structur kopieren CopyMemory uTIME, nBuffer, Len(uTIME) NetApiBufferFree nBuffer With uTIME ' Jetzt nur noch das Datum "zusammenbauen" :-) GetNetTime = DateSerial(.tod_year, .tod_month, .tod_day) + _ TimeSerial(.tod_hours, .tod_mins - .tod_timezone, .tod_secs) End With End If End Function Beispiel für den Aufruf: Dim vDate As Date vDate = GetNetTime("") MsgBox vDate Das zweite Beispiel ermittelt Datum und Uhrzeit eines Netzwerkrechners und setzt dann die aktuelle Systemzeit entsprechend den ermittelten Daten. Dim vDate As Date vDate = GetNetTime("\\Server") If vDate <> "00:00:00" Then Date = vDate Time = vDate End If Dieser Tipp wurde bereits 18.484 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats ![]() Matthias Kozlowski Umlaute konvertieren Ersetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |