Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ShellAbout Infos erhalten (https://www.delphipraxis.net/409-shellabout-infos-erhalten.html)

Tpercon 16. Jul 2002 11:41


ShellAbout Infos erhalten
 
Wie erhält man die Infos Lizenznehmer, Verfügbarer Arbeitsspeicher und Systemresourcen, wie sie z.B. im Shell About Dialog angezeigt werden.
Im Prinzip möchte ich diesen Dialog nachbilden, nur ohne das scheiß Microsoft Copyright und so.

Gruß

Alfons_G 16. Jul 2002 11:51

:hi:
Das kann man sich einzeln über API-Funktionen rausholen.
Als fauler Hund setzt man eine der zahlreichen Systeminfo-Komponenten ein, welche einem das alles verraten
8)

:coder:

Luckie 16. Jul 2002 12:04

Steht alles in der Registry (bis auf den Speicher, das geht mit TMemoryStatus). Aber wie ich M$ kenne bei den verschiedenen OS (NT, Win9x) an verschiedenen Stellen. Also OS abfragen und dann die Registry auslesen. Wenn es dafür API's geben sollte sind diese natürlich vorzuziehen, da sie meist auf allen Windows´systemen funktionierenn (sollten).

P.S.: Das Copyright von M$ in diesem Dialog hat mich auch schon immer gestört, wenn man da nur flüchtig draufkuckt, denkt man das Copyright liegt beim M$. Außerdem sind die Felder recht kurz um, länger Infos annzuzeigen.

MathiasSimmack 16. Jul 2002 13:03

Zitat:

Zitat von Luckie
Wenn es dafür API's geben sollte ...

SystemParametersInfo, GetSystemInfo fallen mir da gleich mal ein ... nachdem ich ins PSDK geguckt habe. :wink:

PSDK-Stichwort: "System Information Functions"

Tpercon 16. Jul 2002 14:14

Habe mir die beiden Funktionen eben mal in der Hilfe angeschaut, kann aber nicht wirklich was damit anfangen. Hat jemand was Beispiel Code?

Luckie 16. Jul 2002 17:31

Zitat:

Zitat von MathiasSimmack
Zitat:

Zitat von Luckie
Wenn es dafür API's geben sollte ...

SystemParametersInfo, GetSystemInfo fallen mir da gleich mal ein ... nachdem ich ins PSDK geguckt habe. :wink:

PSDK-Stichwort: "System Information Functions"

Damit bekommt man den Lizensnehmer raus???? :shock: Da geht es doch nur um Systemparameter und seit wann ist der Lizensnehmer ein Systemparameter? :roll: Also soweit fühle ich mich noch nicht in das System integriert, dass ich mich als Systemparameter fühle. :mrgreen:

MathiasSimmack 16. Jul 2002 19:07

Also schön. :twisted:
Für unseren Haarspalter Luckie sei gesagt, dass man die Lizenzinfos aus der Registry auslesen muss. Aber das stellt ja nun nicht wirklich das Problem dar. Das geht auch mit eingeschränkten Rechten unter NT, wenn man "KEY_READ" beim Access benutzt.

Zitat:

Zitat von Tpercon
Habe mir die beiden Funktionen eben mal in der Hilfe angeschaut, kann aber nicht wirklich was damit anfangen.

Welche Hilfe? Die von Delphi? - Vergiss sie!
Schau am besten mal ins PSDK, oder online ins MSDN. Das ist etwas ausführlicher. Zwar nur C, aber was soll´s.

Zur Funktion "GetSystemInfo" kannst du beispielsweise folgendes machen:
Code:
var
  sys: TSystemInfo;
begin
  GetSystemInfo(sys);
  ShowMessage(inttostr(sys.dwNumberOfProcessors));
end;
usw. Die einzelnen Eigenschaften von "TSystemInfo" solltest du dir mal in der Hilfe (in der richtigen :wink:) ansehen. Das würde jetzt zu weit führen.

Tpercon 16. Jul 2002 21:42

OK, dann schau ich mal nicht ind die Delphi Hilfe!
Aber, dass das nur über die Registry geht ist sicher?!

RomanK 16. Jul 2002 21:46

Es könnte auch funktionen aus der Api geben die diese ausgeben aber warscheinlich holen diese ihre Informationen auch aus der Registry
PS: Hier gibts das PSDK und hier das MSDN

Christian Seehase 16. Jul 2002 23:41

Moin Roman,

solange nicht der direkte Zugriff auf die Registry der dokumentierte Weg ist Werte auszulesen/zu setzen, bzw. solange es API's gibt, die diese Zugriffe erledigen, sollte man auch die Funktionen nutzen, denn die "wissen" wo sie ihre Daten zu suchen haben.
Wenn ich nur an Parameter zu den Netzwerkkarten denke.
Bis 2000 war es kein Thema viele davon so auszulesen, aber seit 2000 haben sich diverse Positionen verändert, so dass ein direkter Zugriff nur noch sehr schwer möglich ist.
Einzige Ausnahme, die ich machen würde:
Die API's sind fehlerhaft, und der direkte Zugriff ist der Workaround ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz