vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Systemzeit-Manipulation aufdecken 
Autor: RalfH
Datum: 15.09.03 21:11

Servus,

das Betriebssystem speichert doch unablässig irgendwelche Daten auf die Platten.

Das kannst Du ausnutzen. Die folgende Prozedur liest einfach von jeder Datei im Windows- und im Windows-System-Verzeichnis das Datum und liefert das größte Datum zurück. Da einige Dateien nur beim Hochfahren geändert werden, kann der User das Systemdatum ändern wie er will, die Funktion liefert mindestens das Datum beim Hochfahren.

Der User hat hier nur noch eine Möglichkeit: er muss ständig vor dem Herunterfahren das Datum ändern.
Dabei muss er darauf achten, das er nicht zuweit zurückgeht (also das aktuelle Datum vor dem Installdatum liegt - was Du ja bei Programmstart überprüfen kannst und ggf. das TRIAL deaktivierst)
Und zweitens muss er immer wieder daran denken den Rechner nicht allzulange ausgeschaltet zu lassen (das Systemdatum läuft ja auch bei ausgeschaltetem Rechner). HiHi


Public Declare Function GetWindowsDirectory Lib "kernel32.dll" Alias _
  "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
 
Public Declare Function GetSystemDirectory Lib "kernel32.dll" Alias _
  "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
 
 
' liest von allen Dateien im Window-Verzeichnis das Datum
' und gibt das größte Datum zurück
Public Function GetSystemDate() As Date
 
  Dim sFile As String, sPath As String, lRet As String
  Dim FileDate As String, D As Date, I As Byte
 
  ' StartDatum festlegen
  FileDate = #1/1/1980#
 
  ' der erster Durchlauf durchsucht das WIndows-Verzeichnis
  ' der Zweite das Windows-System-Verzeichnis
  For I = 1 To 2
 
    ' Buffer füllen
    sPath = Space(256)
 
    ' Windows-Verzeichnis ermitteln
    If I = 1 Then
 
      lRet = GetWindowsDirectory(sPath, Len(sPath))
 
    Else
    ' Windows-System-Verzeichnis ermitteln
 
      lRet = GetSystemDirectory(sPath, Len(sPath))
 
    End If
 
    ' Pfad auf richtige Länge bringen
    sPath = Left(sPath, lRet)
 
    ' und ggf. ein Backslash ans Ende hängen
    If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
 
    ' erste Datei ermitteln
    sFile = Dir(sPath & "*.*")
 
    ' (jede Datei prüfen)
    Do Until sFile = ""
 
      ' Änderungsdatum der Datei ermitteln
      D = FileDateTime(sPath & sFile)
 
      ' wenn Änderungsdatum größer ist, dann merken
      If D > FileDate Then FileDate = D
 
      ' nächste Datei ermitteln
      sFile = Dir
    Loop
 
  Next I
 
  ' Datum zurückgeben
  GetSystemDate = DateValue(FileDate)
End Function

Viel Spass,
R@lf

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Systemzeit-Manipulation aufdecken1.360That15.09.03 16:25
Re: Systemzeit-Manipulation aufdecken1.137DrFuture15.09.03 17:04
Re: Systemzeit-Manipulation aufdecken1.157That15.09.03 17:34
Re: Systemzeit-Manipulation aufdecken1.391RalfH15.09.03 21:11
Das ist gut!1.074That15.09.03 21:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel