Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi string in regedit hauen (https://www.delphipraxis.net/25068-string-regedit-hauen.html)

G G 30. Jun 2004 18:22


string in regedit hauen
 
hi,
wie lege ich einen string in zb. HKEY_LOCAL_MACHINE\SOFTWARE\ und stell dann noch den pfad zb auf c:/ und gib dem string auchnoch einen namen?

wie progt man so ein prog?

Christian Seehase 30. Jun 2004 18:31

Re: string in regedit hauen
 
Moin GG,

schau Dir mal in der OH Hier im Forum suchenTRegistry an, oder such' mal hier danach.

Nicolai1234 30. Jun 2004 18:53

Re: string in regedit hauen
 
Hier hat fauxx (ehem. User) mal eine vereinfachung geschrieben! Also z.B. strtoreg

G G 30. Jun 2004 20:51

Re: string in regedit hauen
 
hm hab einiges probiert aber es haut nicht so wirklich hin, ich will nur nen schlüssel reinschreiben:

tRegistry.Create.OpenKey('HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\Windows\CurrentVersion\Run',true);
TRegistry.Create.CreateKey('Super_prog');

und dieses mit dem pfad c:/super.exe

so das es halt dann auto startet, nur ich krieg des einfach net auf die reihe, bei uses hab ich auch schon "Registry" reingetippt.

wie gehts den richtig, danke dp team :thuimb:

Thorben86 30. Jun 2004 21:08

Re: string in regedit hauen
 
Einfach so:
Delphi-Quellcode:
var reg:TRegistry;

reg:=TRegistry.Create;
reg.rootKey:=HKEY_LOCAL_MACHINE;
reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true);
reg.writestring('name',verzeichnis+'Programmname');
reg.closeKey;
reg.free;
Und nicht vergessen, die unit Redistry mit einzubinden

Luckie 30. Jun 2004 21:54

Re: string in regedit hauen
 
Zitat:

Zitat von Thorben86
Einfach so:

Nun ja. Von Fehler abfangen und Ressourcen schützen hältst du wohl nicht viel.

Delphi-Quellcode:
reg:=TRegistry.Create;
try
  reg.rootKey:=HKEY_LOCAL_MACHINE;
  if reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', False) then // OpenKey ist eine Funktion!!!
  begin
    reg.writestring('name',verzeichnis+Programmname);
    reg.closeKey;
  end
  else
    ShowMessage(SysErrorMessage(GetLastError));
finally
  FreeAndNil(reg);
end;
Zu beachten ist noch, das nicht jeder beliebige Benutzer Schreibrechte in HKLM hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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 by Thomas Breitkreuz