AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Prozessor-Name auslesen ohne Adminrechte
Thema durchsuchen
Ansicht
Themen-Optionen

Prozessor-Name auslesen ohne Adminrechte

Ein Thema von Stread · begonnen am 29. Jun 2011 · letzter Beitrag vom 29. Jun 2011
Antwort Antwort
Seite 1 von 2  1 2      
Stread

Registriert seit: 25. Jun 2011
23 Beiträge
 
Delphi XE Architect
 
#1

Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 01:27
Hi,
Ich möchte den Namen des Prozessors gerne herausbekommen. Mein Code funktioniert allerdings nur wenn man ihn mit Administrator Rechten benutzt.
Er greift auf die Registry zurück um dort den Namen zu holen.
Anscheinend braucht man dort Admin Rechte auch wenn man nur lesen will. (Windows 7 /XP)

Gibt es eine Möglichkeit an den Prozessornamen zu kommen ohne Adminrechte oder die Registry zu gebrauchen?

PS: Bei Windows 7 gibt es unter System eine Zuammenfassung wieviel RAM installiert ist und auch wie der Prozessor heißt. Windows bekommt dies wohl auch ohne Adminrechte.


Delphi-Quellcode:
function GetProzessorName: string;
var reg: TRegistry;
begin
   result:='Unbekannter Prozessor';
   reg:=TRegistry.Create;
   try
     reg.RootKey := HKEY_LOCAL_MACHINE;
     reg.OpenKey('Hardware\Description\System\CentralProcessor\0', false);
     result:=reg.ReadString('ProcessorNameString');
   finally
     reg.free;
   end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 01:36
Du kannst den Pfad nur ohne Schreibrechte öffnen.
TRegistry versucht es aber standarmäßig mit Schreibrechten, was dann natürlich kracht.

Hab's jetzt nicht im Kopf, aber in der OH sollte stehn, wie das geht.


PS: Hier im Forum suchenCPUID sollte auch gehn



So, allen noch eine gute Nacht ... bin dann mal weg
$2B or not $2B

Geändert von himitsu (29. Jun 2011 um 01:48 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#3

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 01:44
Delphi-Quellcode:
TRegistry.Create(KEY_READ);
//...
sollte funktionieren.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 04:11
So sollte es auch gehen :
Delphi-Quellcode:
function GetProzessorName: string;
var reg: TRegistry;
begin
   result:='Unbekannter Prozessor';
   reg:=TRegistry.Create;
   try
     reg.RootKey := HKEY_LOCAL_MACHINE;
     reg.OpenKeyReadOnly('Hardware\Description\System\CentralProcessor\0');
     result:=reg.ReadString('ProcessorNameString');
   finally
     reg.free;
   end;
end;
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 07:04
Das geht bei neueren Delphiversionen auch, ja. Ich würde den Rückgabewert allerdings auch auswerten:
Delphi-Quellcode:
function GetProzessorName: string;
var
  reg: TRegistry;
begin
  result := 'Unbekannter Prozessor';
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    if reg.OpenKeyReadOnly('Hardware\Description\System\CentralProcessor\0') then
      result := reg.ReadString('ProcessorNameString');
  finally
    reg.free;
  end;
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 11:58
Das geht bei neueren Delphiversionen auch, ja.
Was ist "neuer"?
Unter D7 geht's auch.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 12:47
Ansonsten hatte TRegistry auch noch irgendeinen ReadOnly-Property dafür.
$2B or not $2B
  Mit Zitat antworten Zitat
Stread

Registriert seit: 25. Jun 2011
23 Beiträge
 
Delphi XE Architect
 
#8

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 13:19
Die Version von RWarnecke oder jaenicke funktioniert gut.

Warum wird aber bei letzter Version noch ein if..then eingebaut?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 13:23
Da man vielleicht noch prüfen sollte, ob OpenKeyReadOnly überhaupt erfolgreich war?
$2B or not $2B
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Prozessor-Name auslesen ohne Adminrechte

  Alt 29. Jun 2011, 13:39
Wenn man Exceptions vermeiden will, muss man eigentlich auch noch
Code:
reg.ValueExists('ProcessorNameString')
und
Code:
reg.GetDataType('ProcessorNameString') = rdString
überprüfen.

Oder halt bewusst das Exception-Handling nutzen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
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