Hvordan sette Windows Dato og Time.Author unknown.Type TOSType = (os95, os98, osOSR2, osNT4, os2K); prosedyre SetDateTime (dDateTime: TDateTime); Var dSysTime: TSystemTime; buffer: DWORD; TKP, tpko: TTokenPrivileges; hToken: THandle; begynne hvis IsOSNT begynne så hvis ikke OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES eller TOKEN_QUERY, hToken) og avslutter; LookupPrivilegeValue (null, "SE_SYSTEMTIME_NAME ', tkp.Privileges [0] .Luid); tkp.PrivilegeCount: = 1; tkp.Privileges [0] .Attributes: = SE_PRIVILEGE_ENABLED; om ikke AdjustTokenPrivileges (hToken, USANN, TKP, sizeof (TKP), tpko, buffer) og avslutter; slutt; DateTimeToSystemTime (dDateTime, dSysTime); Windows.SetLocalTime (dSysTime); endfunction IsOSNT: boolean; Var OS: TOSVersionInfo; begynne ZeroMemory (OS, sizeof (OS)); OS.dwOSVersionInfoSize: = sizeof (OS); GetVersionEx (OS); Resultatet: = OS.dwPlatformId = VER_PLATFORM_WIN32_NT; ende; funksjon IsOS95: boolean; Var OS: TOSVersionInfo; begynne ZeroMemory (OS, sizeof (OS)); OS.dwOSVersionInfoSize: = sizeof (OS); GetVersionEx (OS); Resultatet: = (OS.dwMajorVersion > = 4) og (OS.dwMinorVersion = 0) og (OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS); ende; funksjon IsOS98: boolean; Var OS: TOSVersionInfo; begynne ZeroMemory (OS, sizeof (OS )); OS.dwOSVersionInfoSize: = sizeof (OS); GetVersionEx (OS); Resultatet: = (OS.dwMajorVersion > = 4) og (OS.dwMinorVersion > 0) og (OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS); ende; funksjon IsOSOSR2: boolean; Var OS: TOSVersionInfo; begynne ZeroMemory (OS, sizeof ( OS)); OS.dwOSVersionInfoSize: = sizeof (OS); GetVersionEx (OS); Resultatet: = (OS.dwMajorVersion > = 4) og (OS.dwMinorVersion = 0) og (lo (OS.dwBuildNumber) > 1000) og (OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS); ende; funksjon IsOS2000: boolean; Var OS : TOSVersionInfo; begynne ZeroMemory (OS, sizeof (OS)); OS.dwOSVersionInfoSize: = sizeof (OS); GetVersionEx (OS); Resultatet: = (OS.dwMajorVersion > = 5) og (OS.dwPlatformId = VER_PLATFORM_WIN32_NT); ende; funksjon GetOSType: TOSType; begynne hvis IsOSNT deretter begynne hvis IsOS2000 deretter Resultat: = os2K annet Resultat: = osNT4; ende annet hvis IsOS95 deretter Resultat: = os95 annet hvis IsOS98 deretter Resultat: = os98 annet hvis IsOSOSR2 deretter Resultat: = osOSR2; ende; Anmeldelser
Angi dato /Time
Previous:Er brukeren Administrator