FremderJunge
چهارشنبه 06 مهر 1390, 17:00 عصر
سلام خدمت دوستان
من یک پروژه کنترل قرارداد نوشتم حالا میخوام برای جلوگیری از کپی نرم افزار یه قفل براش بنویسم به این صورت که هنگام نصب سریال نامبر مادربرد سیستم رو بخونه و ذخیره کنه در اجراهای بعدی ابتدا این سریال رو مقایسه کنه در صورت مغایرت از اجرای برنامه جلوگیری کنه با جستجو تو اینترنت به کد زیر رسیدم.
namespace Wmi { class Program { static void Main( string[ ] args ) { ManagementScope scope = new ManagementScope("\\\\" + Environment.MachineName + "\\root\\cimv2"); scope.Connect(); ManagementObject wmiClass = new ManagementObject( scope, new ManagementPath( "Win32_BaseBoard.Tag=\"Base Board\"" ), new ObjectGetOptions( ) ); foreach( PropertyData propData in wmiClass.Properties ) { Console.WriteLine( String.Format( "{0,-25}{1}", propData.Name, Convert.ToString( propData.Value ) ) ); } } } }
هنگام کپی در ویژوال به این کلاس گیر میده ManagementScope برای استفاده از این کلاس چی رو باید Using کنم؟کد تست شده دیگه ای هم دارید لطف کنید قرار بدید.
و کسی راه بهتری به ذهنش میرسه لطفا مطرح کنه.
من یک پروژه کنترل قرارداد نوشتم حالا میخوام برای جلوگیری از کپی نرم افزار یه قفل براش بنویسم به این صورت که هنگام نصب سریال نامبر مادربرد سیستم رو بخونه و ذخیره کنه در اجراهای بعدی ابتدا این سریال رو مقایسه کنه در صورت مغایرت از اجرای برنامه جلوگیری کنه با جستجو تو اینترنت به کد زیر رسیدم.
namespace Wmi { class Program { static void Main( string[ ] args ) { ManagementScope scope = new ManagementScope("\\\\" + Environment.MachineName + "\\root\\cimv2"); scope.Connect(); ManagementObject wmiClass = new ManagementObject( scope, new ManagementPath( "Win32_BaseBoard.Tag=\"Base Board\"" ), new ObjectGetOptions( ) ); foreach( PropertyData propData in wmiClass.Properties ) { Console.WriteLine( String.Format( "{0,-25}{1}", propData.Name, Convert.ToString( propData.Value ) ) ); } } } }
هنگام کپی در ویژوال به این کلاس گیر میده ManagementScope برای استفاده از این کلاس چی رو باید Using کنم؟کد تست شده دیگه ای هم دارید لطف کنید قرار بدید.
و کسی راه بهتری به ذهنش میرسه لطفا مطرح کنه.