با سلام فکر کنم سوالم ابتدایی باشه اما من می خوام داخل برنامه یه ثابت یا متغییر داشته باشم که کاربر وقتی کد فعالسازی رو به برنامه داد این کد بره در اون متغییر قرار بگیره و دیگه مقدارش تغییر نکنه چطوری می تونم این کار رو بکنم
با سلام فکر کنم سوالم ابتدایی باشه اما من می خوام داخل برنامه یه ثابت یا متغییر داشته باشم که کاربر وقتی کد فعالسازی رو به برنامه داد این کد بره در اون متغییر قرار بگیره و دیگه مقدارش تغییر نکنه چطوری می تونم این کار رو بکنم
دوست عزیز سلام:
اگر منظورتون اینه که مقدار متغییر وقتی که برنامه باز و بسته می شه(دوباره اجرا می شه) خفظ بشه باید اون مقدار رو روی فایلی تو حافظه(hard) یا تو رجیستری قرار بدید.وقتی یه برنامه بسته می شه تمام منابعش آزاد می شن و مقدارشون رو از دست می دن.
خوب در اون صورت کاربر می تونه با حذف اون فایل از قفل من رد بشه
برای جواب شما راه حل های بسیاری وجود داره از جمله استفاده از ریجستری ویندوز هست از اونجایی که فقط این متغییر یکبار استفاده و بررسی می شه و در دفعات بعدی فقط آنالیز خواهد شد و بازم می تونه ویرایش بشه ریجستری بهترین محل برای هدف شما خواهد بود البته راه های دیگه هم هست مثل هم زمان سازی که با استفاده از ریسمان ها انجام میشه و به صورت کلی بخواهم اون روش رو تشریح بدم باید بگم فرآیندی قبل از اجرای خود برنامه به آنالیز داده مشغول میشه و بعد از بار گذاری فرآیند اصلی که روتین برنامه هست رو اجرا میکنه البته تو این روش داده ها باید کد گذاری بشن که امروز برای سیستم ها متن باز از این راه کار ها استفاده میشه نکته اینه که بار اضافی به سیستم تحمیل نمی کنه و بعد از اتمام کار فقط روتین اصلی حافظه اشغال میکنه
موفق باشید فکر کنم برای کار شما همون ریجستری بهترین کار باشه اگه کارتون راه نیافتاد بگید روش دیگه هم که اونو براتون تشریح میکنم
بله منم فکر می کنم رجستری بهترین راه هست حالا میشه روش و کد های لازم رو بهم معرفی کنین من می خوام با استفاده از شماره سی پی یو یه قفل نرم افزاری بسازم یعنی وقتی کاربر کدی رو که من دادم رو به برنامه داد اون برنامه شماره سی پی یو رو حفظ کنه و فقط برا اون باز بشه
سلام
یک نمونه کد برای کار با رجیستری
using Microsoft.Win32;
...
RegistryKey masterKey = Registry.LocalMachine.CreateSubKey
("SOFTWARE\\Test\\Preferences");
if (masterKey == null)
{
Console.WriteLine ("Null Masterkey!");
}
else
{
try
{
masterKey.SetValue ("MyKey", "MyValue");
}
catch (Exception ex)
{
Console.WriteLine (ex.Message);
}
finally
{
masterKey.Close();
}
با تشکر میشه کمی در مورد کد توضیح بدین ممنون من الان شماره سریال نرم افزار رو کجا بدم و شماره سریال cpu رو کجا