Nastavení přesného času PC   zodpovězená otázka

VB.NET

Existuje možnost, jak automaticky programově nastavovat, pokud možno, přesný systémový čas na PC (- tak jako existují budíky řízené signálem, je dostupný někde na síti alespoň přibližně přesný čas a pokud ano, jak jej získat a poté jak lze ve VB nastavit systémový čas počítače?- když jsem se díval, většina mně známých metod týkající se data či času je pouze pro čtení)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Řešením je bohužel opět Win32 API.

Deklarace:

Public Structure SYSTEMTIME
  Public wYear As Integer
  Public wMonth As Integer
  Public wDayOfWeek As Integer
  Public wDay As Integer
  Public wHour As Integer
  Public wMinute As Integer
  Public wSecond As Integer
  Public wMilliseconds As Integer
End Structure
Public Declare Function SetSystemTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME) As Long

Použití:

Dim newTime As SYSTEMTIME
With newTime
  .wDay = 1
  .wDayOfWeek = 1
  .wHour = 12
  .wMilliseconds = 0
  .wMinute = 0
  .wMonth = 1
  .wSecond = 1
  .wYear = 2008
End With
'Nastaví datum na 1.1.2008 12:00:00.00
Dim returnValue As Long = SetSystemTime(newTime)

Vaše aplikace musí mít samozřejmě oprávnění pro volání neřízeného kódu a dále je třeba dát pozor, že systémový čas může nastavovat ve výchozím stavu pouze uživatel s oprávněním Power User a vyšším.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tisíceré díky, vyzkouším.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Automatické nastavování času po internetu zvládají Windows (myslím od verze 2000).

V XP lze poklepat na hodiny v systémové liště a v dialogu "Datum a čas" na kartě "Čas v Internetu" službu aktivovat a vybrat server.

Druhá možnost je používat rezidentní program, např. "Net Time"

http://www.stahuj.centrum.cz/internet_a_...

V síti lze nastavovat čas pomocí příkazu "net time \\timesrv /set /yes", kde "timesvr" je název serveru

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Opět mi nezbývá, než Vám poděkovat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A třetí možnost je napsat si vlastní implementaci protokolu NTP pro synchronizaci času.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback