-
Forum: Object-Pascal / Delphi-Language
by Willie1,
31. Mär 2019
Ach so!
Gestern kam durch Zufall das letzte Release-Update von Windows mit neuem Install-Datum, das stimmt. Ist klar, gestern war noch Normalzeit (Winter). Danke für eure Geduld Willie.
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
29. Mär 2019
Hallo, jetzt zum letzten Mal dieses Thema!:!:
Das Installationsdatum aislesen klappt jetzt, sowohl mit InstallDate als auch mit InstallTime. Nur mit der Zeitzone komme ich nicht klar Mit SystemInfo ermittelt ist Datum-Zeit 13.05.2018 10:47 . Ohne Anpassung ergibt es 09:47 mit der function hier aus dem Forum 11:47. Was ist jetzt richtig?
function DateTimeToLocalTimeDT(dt: TDateTime):...
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
27. Mär 2019
Hallo Holger, Leverkuseen City, da bin ich gestern gewesen.
Ganze Meine Code, werde es checken. Ich habe das auslesen so gemacht: (es klappt) procedure TForm1.Button5Click(Sender: TObject);
var
Reg: TRegistry;
Buf: array of Byte;
id: uint64;
idt: TDateTime;
begin
FillChar(Buf, SizeOf(Buf),0);
Reg:=TRegistry.Create(KEY_WOW64_64KEY);
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
26. Mär 2019
Holger,
es geht um InstallTime nicht InstallDate. InstallTime ist zu groß für Integer auch für Cardinal. Seht es euch an.. Willie.
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
26. Mär 2019
Dalai
Sieh dir InstallTime in der Registry an, das passt in keine Integer-Zahl!
Ich weiß, Vista ist abgemeldet, aber da hab' ich noch ein 32-Bit-Windows, auch da läuft der Code von Holger korrekt, richtiges Installationsdatum, das ist doch erfreulich.
Willie.
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
25. Mär 2019
Holger, noch 2 Nachträge: (Das war ein guter Tipp.)
KEY_WOW64_64KEY ich habe verstanden, er erlaubt den lesenden Zugriff von einem 32-Bit-Prozess auf die 64-Bit Registry. Aber warum können die anderen Werte auch aus der 32-Bit Reg gelesen werden. Meine Vermutung: InstallTime ist eine 64-Bit Zahl!
Mit Reg:=TRegistry.Create(KEY_WOW64_64KEY or KEY_READ); geht es auch mit Reg.OpenKey()
Willie.
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
25. Mär 2019
Hallo Holger,
dein Quelltext bringt bei mir zunächst das falsche Ergebnis (18.02.1970). Wenn ich Reg.OpenKey() durch Reg.OpenKeyReadOnly() ersetze, liefert er das richtige Ergebnis. Bravo.
Seit ihr sicher, dass dieses Konstrukt mit allen Systemen ab Windows 7 funktioniert? Es würde ja einen blöden Eindruck machen, wenn meine About-Box hier Unsinn liefern würde. Ich habe nur Rechner mit Windows...
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
24. Mär 2019
Hallo, ich bin im Web fündig geworden. Hilft mir aber nicht so richtig weiter.
https://www.it-administrator.de/themen/server_client/63694.html
Wenn ich den Wert aus der Registry so auslese, wie von dir beschrieben, ergibt das 01.01.1970.
Willie.
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
23. Mär 2019
Hallo,
Die About-Box von Windows will ich nicht benutzen. Zu viel Werbung für Microsoft!
Ich habe jetzt die 3 Methoden, die installierte Windows Version an zu zeigen (Win-API, Console und Registy) zum Laufen gebracht und bringen für Windows 10,8.1,7 und Vista das richtige Ergebnis.
Eine Frage bleibt noch: in der Registry steht das Installationsdatum des OS, es wäre lustig, wenn ich das noch...
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
20. Mär 2019
Hallo Dalai,
ich werde es so machen und denke, dass es mit Windows 7 bis 10 funktioniert.
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows NT\CurrentVersion');
s:=Reg.ReadString('ProductName');
s:=s+' '+Reg.ReadString('Releaseid');
s:=s+'.'+Reg.ReadString('CurrentBuild');
Label1.Caption:=s;
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
16. Mär 2019
Danke Freunde, Freudinnen sind wohl keine dabei.
Von Systeminfo, sehr umfassend, in der Console hatte noch nie gehört. Das Problem werde ich jetzt mit euren Hinweisen lösen
Gruß Willie.
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
14. Mär 2019
Hallo Leute,
ich will in meiner About-Box die installierte Windows-Version anzeigen. Ich habe es so gemacht:
function WinVersionAPI_asString: string;
var
osInfo: tosVersionInfo;
begin
Result := 'unknown';
osInfo.dwOSVersionInfoSize:= Sizeof( osInfo );
if DWORD(GetVersionEx( osInfo )) <> 0 then
with osInfo do begin
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
12. Mär 2019
Hallo Holger,
kannst du mir den Quelltext schicken. Ich führe nicht gerne unbekannte Exe-Dateien aus. Danke!
Pf enthält den Pfad zum temporären Ordner. (user\\apdata\Local\temp) wg. der Schreibrechte.
ShellExecute(0,'open',PWideChar('cmd.exe'),PWideChar('/c ver >'+Pf+'ver.txt'),PWideChar(ExtractFilePath(ParamStr(0))),SW_HIDE);
Auf einem Rechner läuft das, auf einem anderen nicht. Beide habe...
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
7. Mär 2019
... ich finde Michaels Quelltext gut.
Obwohl er mir nicht weiterhilft. Das mit /c wusste ich, aber egal, ob mit /a oder /c oder ohne, es passiert nichts. Seit irgeneinem Windows-Update funktioniert die Console nicht mehr, wie gewohnt. Das hatte ich vor über einem Jahr beim Einbau von Exiftool (von Phil Harvey) in ein eigenes Programm erkennen müssen.
Könnte es sein, dass Microsoft cmd durch...
-
Forum: Object-Pascal / Delphi-Language
by Willie1,
6. Mär 2019
Hallo Leute,
wie immer, werde ich hier im Forum fündig. Suchte nach CMD mit Output:
https://www.delphipraxis.net/169697-cmd-befehl-delphi-ausfuehren-mit-ausgabe.html
Michael (Alleinherrscher) ist ja fleißig gelobt worden, dem kann ich mich nur anschließen. Aber ein Haar in der Suppe habe ich gefunden: der Parameter "ver" wird ignoriert. "help ver" funktioniert richtig. Warum wird bei "ver"...