در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

محدود کردن نصب نرم افزار فقط بر روی یک سیستم توسط سی شارپ

با سلام در این مطلب میخوام بهتون بگم چطور میشه برنامه ای بنویسیم که این برنامه فقط روی یک سیستم اجرا بشه

شاید خیلی موقع ها ببینید برنامه هایی هستند که از نظر امنیتی اینجوری طراحی شدند که در یک یا چند سیستم میتونن نصب بشن البته من تمام کد هاشو اینجا نمیارم ولی با همین کد ها شما میتونید کلی کار انجام بدید.

محدود کردن نصب نرم افزار فقط بر روی یک سیستم توسط سی شارپ

یکی از بهترین راه کارها برای این منظور استفاده از سخت افزار هست اگر شما از نرم افزار استفاده کنید خب طبیعتاً راه های دور زدن زیاد هست هر چند برای سخت افزار هم این قضیه صدق میکنه اما کار هرکس نیست ....

پس بهتره از سخت افزار استفاده شه تمام سخت افزار ها دارای شماره سریالی هستند که یه سری از اونها منحصر به فرد هستند مثل کارت شبکه که از یه عددی تشکیل شده که این عدد در دنیا 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 هم مانند کد بالا یک لیبل هست که روی فرم ما ایجاد میشه.

این کد ها برای سی شارپ هستند که اگر میخواهید بر روی VB هم اجرا کنید میتونید از ابزار های زیر استفاده کنید .

تبدیل کد های VB.NET به #C و بلعکس

تبدیل سورس کد های زبان برنامه نویسی

نویسنده : فرهاد خانلری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#محدودیت_نصب_برنامه #قفل_نرم_افزار #سریال_کارت_شبکه #به_دست_آوردن_mac_address #سخت_افزار_و_برنامه_نویسی #کد_نویسی_و_سریال_cpu
1 نظر
حسین میرزائی

با عرض سلام و خسته نباشید خدمت جناب فرهاد خانلری و اعضای ITPRO

ناگفته نماند برای به دست آوردن سریال کارت شبکه باید کتابخانه System.Net.NetworkInformation رو هم اضافه کنیم

using System.Net.NetworkInformation;

باتشکر

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....