Registry karakterlánc létezike ? D7

Registry karakterlánc létezike ? D7
2017-04-23T16:39:02+02:00
2017-04-25T04:56:50+02:00
2022-10-15T23:06:30+02:00
Kakukk
Sziasztok!
Egyszerűnek tűnő feladatnál akadtam el.
Delphi7, Op. Win7.
HKEY_CURRENT_USER/Software/Microsoft/Windows/Current Version/Run
Autorunos programrész létrehoz egy karakterláncot, ezt kéne megnéznem hogy létezike már.
Keresőben találtakat próbálva, nekem nem sikerült.

Var Reg: Tregistry; Begin Reg:= Tregistry.create; Reg.RootKey := HKEY_CURRENT_USER; if Reg.KeyExists('/Software/Microsoft/Windows/Current Version/Run/'+Application.Title) then Showmwssage('Van') else Showmessage('Nincs'); Reg.free; End;
Próbáltam  a megnyitással is, if Reg.OpenKeyReadOnly(....)
Hol rontom el ?
Ha nincs jogom, akkor hibaüzinek kéne jönni nem ?
Mutasd a teljes hozzászólást!
Elindítottam a delphit, gyorsan összedobtam egy fapadost:

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Registry, StdCtrls; const Key = '\Software\Microsoft\Windows\CurrentVersion\Run'; type TForm1 = class(TForm) btn1: TButton; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); var Reg: TRegistry; begin Reg:= TRegistry.Create; Reg.RootKey:= HKEY_CURRENT_USER; Reg.OpenKey(Key,False); if Reg.ReadString('Gepjarmu')= '' then ShowMessage('Nincs') else ShowMessage('Van'); //if Reg.KeyExists(Key+'Gepjarmu') then ShowMessage('van') else ShowMessage('Nincs'); //if Reg.ValueExists(Key+'Gepjarmu') then ShowMessage('Van') else ShowMessage('Nincs'); Reg.CloseKey; Reg.Free; end;
Így működik!

Ha van észrevétel hogy másképp hogy lehetne, még nyitva hagyom a topikot.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd