PDA

View Full Version : کار با رجیستری؟



DarkACE
یک شنبه 03 اردیبهشت 1391, 13:13 عصر
سلام دوستان، می خواستم بپرسم که چطور می تونم واسه برنامم توی رجیستری یک کلید ایجاد کنم و زمان اجرا اون رو بررسی کنه و اگه بود برنامه اجرا بشه، در غیر این صورت برنامه بسته بشه.

مرسی.

Felony
یک شنبه 03 اردیبهشت 1391, 13:38 عصر
باید از کلاس TRegistry استفاده کنید ؛ همون عبارت TRegistry رو در سایت جست و جو کنید .

عقاب سیاه
سه شنبه 05 اردیبهشت 1391, 21:52 عصر
http://barnamenevis.org/showthread.php?169157-%D8%B3%D9%88%D8%A7%D9%84-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D9%88-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&p=765894&viewfull=1#post765894

DarkACE
شنبه 09 اردیبهشت 1391, 09:24 صبح
ممنون، اما چطور باید اول برنامه بررسی کنم که این کلید توی رجیستری هست یا نه که برنامه اجرا بشه یا نه؟

Felony
شنبه 09 اردیبهشت 1391, 11:37 صبح
متد KeyExists از کلاس TRegistry وجود یک کلید رو بررسی میکنه .

BORHAN TEC
شنبه 09 اردیبهشت 1391, 18:27 عصر
توجه داشته باشید که کلید در رجیستری معادل پوشه در Explorer است و Value هم معادل فایل است. (به نظر من سازندگان ویندوز در این رابطه اصلاً اسامی خوبی را انتخاب نکرده اند!):متفکر:
در هر حال به نظر من بهتره از ValueExists استفاده کنید! :چشمک:

DarkACE
پنج شنبه 23 شهریور 1391, 12:48 عصر
میشه لطفاً یک مثال ساده بزنید؟

SayeyeZohor
شنبه 25 شهریور 1391, 05:40 صبح
var
Reg: TRegistry;
RegKey: String;
Key: String;
BEGIN
Reg := TRegistry.Create;
TRY
Reg.RootKey := HKEY_LOCAL_MACHINE;
Key := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\' + NameProgram;
IF (Reg.OpenKeyReadOnly(Key)) AND (Reg.ValueExists('DisplayName')) THEN
BEGIN
RegKey := Reg.ReadString('DisplayName');
Reg.CloseKey;
Result := True;
END
ELSE
BEGIN
Reg.CloseKey;
Result := False;
END;
FINALLY
Reg.Free
END;
END;