Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
Delphi 7 Enterprise
|
Re: RtlTimeToTimeFields im Usermode möglich?
6. Dez 2007, 20:05
Delphi-Quellcode:
type TTimefield=packed record
Year:word;
month:word;
day:word;
hour:word;
minute:word;
second:word;
milliseconds:word;
weekday:word;
end;
var lib:hmodule;
TimeToTimeField:procedure(var time:int64;var timefield:TTimeField);stdcall;
QuerysystemTime:procedure(var time:int64);stdcall;
systime:TSystemTime;
timefield:TTimeField;
time64:int64;
begin
lib:=getmodulehandle('ntdll');
TimeToTimeField:=getprocaddress(lib,'RtlTimeToTimeFields');
QuerySystemTime:=getprocaddress(lib,'NtQuerySystemTime');
//Variante 1
Querysystemtime(time64);
TimeToTimeField(time64,timeField);
showmessage(inttostr(TimeField.Day)+'.'+
inttostr(TimeField.Month)+'.'+
inttostr(TimeField.Year)+#13#10+
inttostr(TimeField.Hour)+':'+
inttostr(TimeField.Minute)+':'+
inttostr(TimeField.Second)+'.'+
inttostr(TimeField.Milliseconds)+#13#10+
inttostr(TimeField.Weekday));
//Variante 2
DateTimeToSystemTime(now,systime);
showmessage(inttostr(systime.wDay)+'.'+
inttostr(systime.wMonth)+'.'+
inttostr(systime.wYear)+#13#10+
inttostr(systime.wHour)+':'+
inttostr(systime.wMinute)+':'+
inttostr(systime.wSecond)+'.'+
inttostr(systime.wMilliseconds)+#13#10+
inttostr(systime.wDayOfWeek));
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
|