PDA

View Full Version : سوال: مشکل کار با رجستری



mirage041
جمعه 29 خرداد 1388, 19:32 عصر
من یک برنامه دارم می نویسیم که می خوام فقط 3 بار اجرا بشه برای این کارم از رجیستری استفاده می کنم. یک کلید تو قسمت local machin با نام key ساختم و مقدار 3 بطور رشته string بهش دادم. همهی قسمت بالا را رو تو قسمت لوود فرم اولم نوشتم.
حالا می خوام جستجو کنم ببینم که اگه key نبود برام بسازه اگه بود مقدارش رو با مقدار فعلی مقایسه کنه اگه بود که اجار نشه اگر نه ( کوچکتر بود ) که یک واحد به مقدار فعلی اضافه کنه.
تو قسمت دوم موندم که هم یک کلید رو جستجو کنم و هم یک کلید که حالت فعلی رو نشون بده .

mirage041
پنج شنبه 04 تیر 1388, 12:36 عصر
چطوری به برنامه می شه شمارنده داد تا با هر بار اجرا یک واحد اضافه بشه و بعدش با رسیدن به یک مقیاس پیش فرض باسته

NewFoxStudent
پنج شنبه 04 تیر 1388, 14:41 عصر
private bool check()
{
bool result = false;
RegistryKey key = Registry.LocalMachine.OpenSubKey("Software",true);
object o = key.GetValue("Counter");
if (o == null)
{
key.SetValue("Counter", 0, RegistryValueKind.DWord);
key.Close();
result = true;
}
else
{
if ((int)o < 3)
{
key.SetValue("Counter", ((int)o) + 1);
result = true;
}
else
{
result = false;
}
}
key.Close();
return result;
}

mirage041
یک شنبه 07 تیر 1388, 12:51 عصر
این کد رو باید کجایه برنامه قرار بدم

NewFoxStudent
یک شنبه 07 تیر 1388, 14:40 عصر
هرجایی میتونید استفاده کنید
مثلا توی فایل program برنامه توی تابع main قبل از اجرای فرم اصلی میتونید از این تابع استفاده کنید و اگه نتیجه بشمسث بود با یک پیغام مناسب برنامه رو پایان بدید

mirage041
یک شنبه 07 تیر 1388, 17:30 عصر
این کار کردم خطا می ده اون قسمت اول تعریق رو بول خطا می ده
من با 2008 کار می کنم.
من با پایگاه داده هم مشکل دارم برای کار با اون چیکار باید بکنم .
مثلاً باید کلاینت نصب بکنم دیگه اون تو کامپیوتر من استارت نمی شه و می گه نمی تونه این سرویس رو فعال منه هم تو 2005 و هم تو 2000 البته استاندارد و برنامه نویسش

NewFoxStudent
یک شنبه 07 تیر 1388, 19:17 عصر
دوست عزیز شما تابعی رو که گذاشتم توی یه کلاس به صورت استاتیک بنویس و بعد توی تابع main برنامت به این صورت صدا بزن



if(!check())
Application.Exite();


خطایی که میده چیه میتونی بزاریش اینجا

az.heidarzadeh
شنبه 02 اردیبهشت 1391, 16:42 عصر
سلام
من میخوام تو localmashin یه رجیستری اضافه کنم اما فقط با خود administrator ویندوز اجازه نوشتن رو میده با یوزر دیگه ای که توی گروه admin هست برنامه خطا میده و من اینطور متوجه شدم که permission نوشتن توی localmashin رو نداره چون وقتی به جاش از currentuser استفاده میکنم دیگه خطا نمیده...
حالا باید چیکار کنم چون من دقیقا localmashin و میخوام نمیخوام با هر یوزری که وارد شد دوباره ازش سوال امنیتی بپرسه یکبار که توی سیستم جواب داده شد با هر یوزری کار کنه...
ممنون