![]() |
Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Hallo DP,
wie kriegt man ein/sein/mein Programm dazu, die aktuelle Version von Windows auszugeben? Dafür gibt es viele Units im Internet und viele Units in der DP. Aber selbstverstaendlich *keine* Unit, die das kann, was ich will! Daher Selbst-ist-der-Heimwerker:
Delphi-Quellcode:
Auf dem Formular ist nur ein Button.
unit UnitZeigeWindowsVersion;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Registry, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} function GetWindowsVersion(ShortInfo: Boolean): string; var VerInfo: TOsversionInfo; PlatformId, VersionNumber: string; BuildNumber: string; // mein Pfusch! Reg: TRegistry; begin VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo); GetVersionEx(VerInfo); Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; case VerInfo.dwPlatformId of VER_PLATFORM_WIN32s: begin PlatformId := 'Windows 3.1'; end; VER_PLATFORM_WIN32_WINDOWS: begin Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion', False); PlatformId := Reg.ReadString('ProductName'); VersionNumber := Reg.ReadString('VersionNumber'); BuildNumber := Reg.ReadString('CurrentBuildNumber'); // mein Pfusch! end; VER_PLATFORM_WIN32_NT: begin Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False); PlatformId := Reg.ReadString('ProductName'); VersionNumber := Reg.ReadString('CurrentVersion'); BuildNumber := Reg.ReadString('CurrentBuildNumber'); // mein Pfusch! end; end; Reg.Free; if shortinfo then Result := '(' + VersionNumber + '/' + BuildNumber + ')' else Result := PlatformId + ' (Version ' + VersionNumber + '/Build ' + BuildNumber + ')'; end; procedure TForm1.Button1Click(Sender: TObject); var s: string; begin s := GetWindowsVersion(false); // Kurzinfo MessageBox(Handle, PChar(s), 'Infokram (false) unter D5', mb_Ok or mb_IconInformation or mb_DefButton1); s := GetWindowsVersion(true); // Langinfo MessageBox(Handle, PChar(s), 'Infokram (true) unter D5', mb_Ok or mb_IconInformation or mb_DefButton1); end; procedure TForm1.FormShow(Sender: TObject); begin Button1Click(self); PostQuitMessage(666); // Teufelszeug! end; end. Entwickelt/getestet mit Delphi5/WinXP, Windows 8 und Windows 8.1. Dankbare Gruesse von einem Mitleser! |
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Kannst Du bitte die [ DELPHI] - Tags verwenden, da sonst Augenkrebs ensteht.
|
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Ich denke das ist ein Zweitaccount. Der fehlende DELPHI-Tag soll nach einem Newbie aussehen ;)
|
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Zitat:
Aber interessant, wie sich "welpengeschützt" plötzlich wieder erinnern kann... :thumb: |
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Mal sehen.
Da du aber die Tags für zitieren kennst und auch Smilies beherrscht, ist es nicht dein erster Beitrag in einen Forum. Nur den wichtigsten Tag in dem Forum kennst du anscheinend nicht. Also nach oben scrollen, auf "Bearbeiten" klicken und den Code schön in DELPHI-Tags packen. |
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Zitat:
|
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Was ist eigentlich der Sinn des Ganzen?
|
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Hallo zusammen,
um wieder "on-topic" zu kommen: Die API Funktion zur Ermittlung der Windows-Version ist seit Windows 8.1 ![]() |
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Zitat:
|
AW: Windows 8.1 - wie BuildNumber 9600 angezeigt bekommen?
Darf ich trotzdem noch darauf hinweisen, dass TRegistry.OpenKey im HKLM Adminrechte benötigt und man deshalb - weil man eh nur lesen will - TRegistry.OpenKeyReadOnly verwenden (oder alternativ TRegistry.Access passend setzen) sollte?
MfG Dalai |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz