PDA

View Full Version : سوال: بررسی کلیدها در رجیستری



shytonak
جمعه 01 شهریور 1387, 17:33 عصر
سلام دوستان میشه یه کمک کنید که چطور چک کنیم که تو رجیستری یه کلید با یه اسم خاص هست یا نه نمیخوایم ایجاد کنه فقط بگه هست یا نه.

behzadk
جمعه 01 شهریور 1387, 20:56 عصر
getsubkeys کن ببین هست یا نه

shytonak
جمعه 01 شهریور 1387, 22:11 عصر
دوست عزیز میشه یکم بیشتر توضیح بدی.

مهرداد تاجدینی
شنبه 02 شهریور 1387, 00:05 صبح
ابتدا باید یا استفاده از متد OpenSubKey سعی کنی کلید مورد نظر رو باز کنی. اگه این کلید وجود داشت OpenSubKey یک رفرنس به این کلید برمی گردونه و اگر وجود نداشت null برمی گردونه.

مثال:



// Attempt to open the key
RegistryKey key = Registry.CurrentUser.OpenSubKey( "Software\\Play\\WindowPos" );

// If the return value is null, the key doesn't exist
if ( key == null )
{
// The key doesn't exist; create it / open it
key = Registry.CurrentUser.CreateSubKey( "Software\\Play\\WindowPos" );
}

// Attempt to retrieve the value X; if null is returned, the value
// doesn't exist in the registry.
if ( key.GetValue( "X" ) != null )
{
// The value exists; move the form to the coordinates stored in the
// registry.
Location = new Point( (int)key.GetValue( "X" ), (int)key.GetValue( "Y" ) );
}

shytonak
شنبه 02 شهریور 1387, 21:32 عصر
lمرسی دوست عزیز اما منظور من اینه که بشه مقدار یه کلید رو گرفت مثلا تو شاخه Software\\shytonak ما یه کلیدداریم به نام x که مقدارش se هست میخوام این مقدار (se) رو تو یه لیبل نمایش بدم.

A.zolfaqari
دوشنبه 28 شهریور 1390, 15:21 عصر
دیره اما میزارم برا بقیه که جستجو میکنن
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine;
key = key.OpenSubKey("SOFTWARE", true);
key = key.OpenSubKey("Secure", true);
if (key.GetValue(tbxNameReg.Text) != null)
{
tbxValue.Text = key.GetValue(tbxNameReg.Text).ToString();
}
else
{
MessageBox.Show("Not Exist");
}