PDA

View Full Version : سوال: Load کردن قسمتی از رجیستری در TreeView



babak_delphi
یک شنبه 02 تیر 1387, 17:37 عصر
من میخواهم قسمتی از Registry را در TreeView لود کنم
یک متغیر از نوع رجیستری ساختم و Root key اون رو تنظیم کردم و ... (مثل زمانی که می خواهیم چیزی در رجیستری بنویسیم یا بخوانیم)
بعد برای لود کردن سعی کردم قسمتی از رجیستری (مثلا یک کلید) را با متد SaveKey در جایی ذخیره کنم و بعد آن را در درخت لود کنم (که البته به نظر خودم هم راه جالبی نیست ولی راه دیگری به ذهنم نرسید)
ولی همین متد نیز عمل نکرد
کسی راهی برای این کار میتواند ارائه دهد؟
ممنون

vcldeveloper
یک شنبه 02 تیر 1387, 19:07 عصر
این کد تمام کلیدهای زیر شاخه HKEY_LOCAL_MACHINE را در یک ListBox میریزه:


var
R : TRegistry;
begin
R := TRegistry.Create;
try
R.RootKey := HKEY_LOCAL_MACHINE;
R.OpenKey('',False);
R.GetKeyNames(ListBox1.Items);
finally
R.Free;
end;
end;

برای بدست آوردن کلیدهای زیرشاخه هر یک از این کلیدها، باید همین کار را برای هر یک از کلیدهای پیدا شده تکرار کنید، یعنی مثلا بجای ' ' در OpenKey، نام یکی از این کلیدهای بدست آمده را بزارید تا لیست زیر شاخه های آن را دریافت کنید و همین کار را برای تک تک کلیدهای پیدا شده تکرار کنید.

babak_delphi
یک شنبه 02 تیر 1387, 20:33 عصر
Registry هم یک درخت است
آیا نمیتوان یک کلید را با زیر شاخه هایش در یک فایل ذخیره کرد و بعد اون رو در Treeview لود کرد؟

vcldeveloper
دوشنبه 03 تیر 1387, 02:13 صبح
آیا نمیتوان یک کلید را با زیر شاخه هایش در یک فایل ذخیره کرد و بعد اون رو در Treeview لود کرد؟یعنی انتظار دارید داده های رجیستری بطور خودکار تبدیل به Nodeهای TreeView شوند؟!!

سورس ضمیمه فقط لیست Root Keys و کلیدهای زیر مجموعه آنها را در TreeView نمایش میده.