AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Seriennummer Informationen in Registry schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Seriennummer Informationen in Registry schreiben

Ein Thema von dor557 · begonnen am 21. Aug 2010 · letzter Beitrag vom 6. Mär 2012
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 10:33
Besser ist aber das Programm, an die bestehenden Rechte anzupassen, als die Lauffähigkeit des Programmes von abweichenden Rechteeinstellungen in der Registry oder dem Dateisystem abhängig zu machen!
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 10:38
Um nochmal zum Kernproblem zurückzukommen: Schreiben des Wertes unter HKLM als Admin (z.B. im Verlauf des Setups). Lesen des Wertes dann mittels
Reg := TRegistry.Create(KEY_READ); Nach meiner Erfahrung sollte das so funktionieren. Wie man allerdings die Sache mit der WOW6432Node in den Griff bekommt, dazu kann ich nicht viel sagen, da ich kein 64Bit-OS besitze und das nur bei einem Kunden mal beobachtet habe.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 23. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 11:18
Also, Was das Thema angeht mit den Rechten möchte ich mal folgendes Sagen :

grundsätzlich ist es Meiner meinung nach Richtig das normale Benutzer keine Admin-Rechte besitzen. Is ja logisch. wenn man da einen Anfänger dran lässt geht hinterher das Halbe System nicht mehr. wie z.b. die winnt.dll oder so löschen

Was die Schreibrechte in der Registry angeht da muss ich mir wohl wirklich etwas ausdenken.

Es wid wohl darauf hinaus laufen das ich in der Anwendung feststellen muss ob ich Admin bin oder nicht und dann den Hinweis geben das admin rechte benötigt werden damit die Seriennummer Rechnerweit gepeichert werden kann.

Ansonsten wird die eben nur dem User zugewiesen und gut ist.

Aber nun stehe ich wieder vor einem punkt Namlich Nach der Rechte überprüfung suchen aber ich denke dazu werde ich Hier im Forum sicher was finden. Bin sicherlich nicht der erste mit einem Solchen Problem

Danke auf alle fälle für die Vielen antworten. Werde schauen was ich daraus mache.

Wie schon ein Paar beiträge vorher gesagt. Muss ich wohl die Registry geschichte von Vorne schreiben und das entsprechend anpassen.

Danke euch Leutz...

Ihr Seid die Besten
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 12:01
Man könnte dieses Recht auch einfach anfordern ( elevation)
Markus Kinzler
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 14:45
Was die Schreibrechte in der Registry angeht da muss ich mir wohl wirklich etwas ausdenken.

Es wid wohl darauf hinaus laufen das ich in der Anwendung feststellen muss ob ich Admin bin oder nicht und dann den Hinweis geben das admin rechte benötigt werden damit die Seriennummer Rechnerweit gepeichert werden kann.

Ansonsten wird die eben nur dem User zugewiesen und gut ist.
Du kannst natürlich die Adminrechte anfordern vom UAC.
Dann machst du ein Knopf mit Schild "Seriennummer eingeben". Dieser Knopf impersonated dann zum Admin.

Sakura (Daniel) hat dazu Beispiel gemacht?!
Zumindest habe ich mal eine Demo gesehen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 23. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Seriennummer Informationen in Registry schreiben

  Alt 30. Aug 2010, 10:42
Du kannst natürlich die Adminrechte anfordern vom UAC.
Dann machst du ein Knopf mit Schild "Seriennummer eingeben". Dieser Knopf impersonated dann zum Admin.

Sakura (Daniel) hat dazu Beispiel gemacht?!
Zumindest habe ich mal eine Demo gesehen.
Ich habe nach der Demo gesucht. Nichts Gefunden. Aber Das wäre schon net schlecht wenn man zur laufzeit einfach die Adminrechte abrufen kann um etwas aus zu führen.
Wo hassn das gesehen ?

So aber was anderes. Was mich nun total verwirrt. Ich hoffe auf Erleuchtung.

Ich hatte zum Lesen folgenden Code geschrieben :

Delphi-Quellcode:
   Reg := TRegistry.Create;
   with Reg do
   begin
      RootKey := HKEY_LOCAL_MACHINE;
      Ver := inttostr(Version.Hauptversion) + '.' + inttostr(Version.Nebenversion);
      Ver_new := ver;
      OpenKeyReadOnly(RegPath+Ver);
      if KeyExists('S/NR') then
        MainConfig.SENR := ReadString('S/NR') else MainConfig.SENR := '';
      if KeyExists('firma') then
        MainConfig.Firma := ReadString('firma') else MainConfig.Firma := '';
      CloseKey;
    end;
so nun (Ich weiss ich wiederhole mich) in XP konnte die Funktion KeyExists mir ein true geben. Unter 7 ein False. (Vista noch nicht versucht)

nun habe ich eine naja mehr oder weniger eingebung gehabt und habe mir gedacht das Keys ja eigentlich nicht die Einträge sind sondern die Schlüssel "Ordner".

also kam Folgendes dabei raus :

Delphi-Quellcode:
   Reg := TRegistry.Create;
   with Reg do
   begin
      RootKey := HKEY_LOCAL_MACHINE;
      Ver := inttostr(Version.Hauptversion) + '.' + inttostr(Version.Nebenversion);
      Ver_new := ver;
      OpenKeyReadOnly(RegPath+Ver);
      if ValueExists('S/NR') then
        MainConfig.SENR := ReadString('S/NR') else MainConfig.SENR := '';
      if ValueExists('firma') then
        MainConfig.Firma := ReadString('firma') else MainConfig.Firma := '';
      CloseKey;
    end;


So nun kann ich das wenn die Software als Admin gestartet ist speichern und als user lesen

Aber nun erkläre mir mal jemand das XP das akzeptiert hat obwohl es eigentlich ja schon von anfang an falsch programmiert wurde oder ?
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Seriennummer Informationen in Registry schreiben

  Alt 30. Aug 2010, 10:49
Du kannst natürlich die Adminrechte anfordern vom UAC.
Dann machst du ein Knopf mit Schild "Seriennummer eingeben". Dieser Knopf impersonated dann zum Admin.
http://www.michael-puff.de/Programmi...ersonate.shtml oder Hier im Forum suchenImpersonate

Aber wenn ich das richtig verstanden hab, dann sollte hier z.B. ein OutOfProcessServer, welche mit den nötigen Adminrechten läuft, besser sein.

[edit] hatte ich mir doch mal was gemerkt
http://www.delphipraxis.net/151099-e...ml#post1019460
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Aug 2010 um 10:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 23. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

AW: Seriennummer Informationen in Registry schreiben

  Alt 31. Aug 2010, 16:11
also die Methode habe ich versucht. Aber das geht warscheinlich nur bei XP oder NT. unter Vista und windows 7 geht das nicht. werde wohl auch auf die Methode mit einer Externen exe zurückgreifen müssen.

gruss Sascha
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 11:58
... Wie man allerdings die Sache mit der WOW6432Node in den Griff bekommt ...
So: Registry: WOW6432NODE
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Seriennummer Informationen in Registry schreiben

  Alt 25. Aug 2010, 12:25
... Wie man allerdings die Sache mit der WOW6432Node in den Griff bekommt ...
So: Registry: WOW6432NODE
Thx, das schaue ich mir bei nächster Gelegenheit genauer an
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:56 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