| |

Fortgeschrittene ProgrammierungRe: 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 |  |
 | 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 |
  |
|
Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt 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
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|