چگونه اجازه نصب برنامه فقط روی یک سیستم را بدهیم؟
یکی از بهترین راه کارها برای این منظور استفاده از سخت افزار هست اگر شما از نرم افزار استفاده کنید خب طبیعتاً راه های دور زدن زیاد هست هر چند برای سخت افزار هم این قضیه صدق میکنه اما کار هرکس نیست .... پس بهتره از سخت افزار استفاده شه تمام سخت افزار ها دارای شماره سریالی هستند که یه سری از اونها منحصر به فرد هستند مثل کارت شبکه که از یه عددی تشکیل شده که این عدد در دنیا unic هست .
یعنی در کل دنیا ازش یکی وجود داره(شماره سریال)در این مطلب میخوام توسط برنامه نویسی به کمک سریال های سخت افزاری کاری کنیم نرم افزارمون روی یک سیستم نصب شه پس برای ادامه این داستان نیاز داریم شماره سریال سخت افزار رو بدست بیاریم و پس از اون میتونیم کافیه با یه if چک کنی که برنامه روی همون سخت افزار اجرا میشه. البته شما میتونید کد ها رو با هم تلفیق کنید و تو برنامتون ازشون استفاده کنید. توسط کدهای زیر شماره سریال cpu سیستم رو بدست میاریم
- نکته مهم : برای استفاده از این کد ها باید کتابخانه System.Management رو تو برنامه اضافه کنیم.
برای به دست اوردن سریال سی پی یو از این کد ها استفاده میکنیم
using System.Management;
string cpuInformation = string.Empty;
ManagementClass Nocpu = new ManagementClass("win32_processor");
ManagementObjectCollection moc = Nocpu.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInformation = mo.Properties["processorID"].Value.ToString();
break;
}
lblCpuNo.Text = cpuInformation ;
البته لازم هست اضافه کنم lblCpuNo.Text یک لیبل هست که باید روی فورمتون ایجاد کنید.میریم سراغ به دست اوردن شماره سریال کارت شبکه
using System.Management;
string noMacAddresses =string.Empty;
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
noMacAddresses+= nic.GetPhysicalAddress().ToString();
break;
}
}
lblMacNo.Text = noMacAddresses;
lblMacNo هم مانند کد بالا یک لیبل هست که روی فرم ما ایجاد میشه.
تمام.