Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
21. Jan 2003, 12:17
ja, ja, jaaaaa. Mathias du bist ein Schatz.
Halt alles zurück. Da stimmt was nicht.
Noch mal von vorne. Das habe ich jetzt:
Delphi-Quellcode:
function Int32x32To64(const a, b: dword): int64;
begin
Result := int64(a) * int64(b);
end;
procedure TForm1.ListBox1Click(Sender: TObject);
const
TAB = #9;
var
sUser : String;
ui11 : Pointer;
ft : TFILETIME;
st : TSYSTEMTIME;
ui : ULARGE_INTEGER;
li : longint;
buf1, buf2 : array[0..255] of Char;
begin
Memo1.Clear;
sUser := Listbox1.Items.Strings[Listbox1.ItemIndex];
if sUser <> ''then
begin
NetUserGetInfo(nil, PWideChar(WideString(sUser)), 11, ui11);
{st.wYear := 1970;
st.wMonth := 1;
st.wDayOfWeek := 0;
st.wDay := 1;
st.wHour := 0;
st.wMinute := 0;
st.wSecond := 0;
st.wMilliseconds := 0;
SystemTimeToFileTime(st,ft);
ui.QuadPart := int64(PUserInfo11(ui11)^.usri11_last_logon)+ULARGE_INTEGER(ft).QuadPart;
FileTimeToSystemTime(TFileTime(ui),st);}
li := Int32x32To64(PUserInfo11(ui11)^.usri11_last_logon, 10000000) + 116444736000000000;
ft.dwLowDateTime := DWORD(li);
ft.dwHighDateTime := li shl 32;
FileTimeToSystemTime(TFileTime(ui),st);
GetTimeFormat(LOCALE_USER_DEFAULT, TIME_FORCE24HOURFORMAT, @st, nil, buf1, sizeof(buf1));
GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, @st, nil, buf2, sizeof(buf2));
Memo1.Lines.Add('Last-Logon'+TAB+': '+String(buf2)+' / '+String(buf1) );
end;
NetAPIBufferFree(ui11);
end;
Jetzt bin ich schon seit 1601-01-01 / 00:00:00 eingeloggt.
Michael Ein Teil meines Codes würde euch verunsichern.
|
|
Zitat
|