PDA

View Full Version : سوال: بدست آوردن سریال نامبر مادربرد



FremderJunge
چهارشنبه 06 مهر 1390, 16: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 کنم؟کد تست شده دیگه ای هم دارید لطف کنید قرار بدید.
و کسی راه بهتری به ذهنش میرسه لطفا مطرح کنه.

FremderJunge
چهارشنبه 06 مهر 1390, 16:27 عصر
سلام مشکل حل شد باید System.Management رو AddReference میکردم.
حالا کسی راه دیگه ای سراغ داره ساده تر از این؟یا میشه این کد رو طوری ویرایش کرد که فقط سریال مادربرد رو بده؟
چون الان خروجی که میده اینه خیلی سخته که سریال نامبر رو از این بکشی بیرون!

Caption Base Board ConfigOptions CreationClassName Win32_BaseBoard Depth Description Base Board Height HostingBoard True HotSwappable InstallDate Manufacturer Dell Inc. Model Name Base Board OtherIdentifyingInfo PartNumber PoweredOn True Product 0YD479 Removable Replaceable RequirementsDescription RequiresDaughterBoard SerialNumber .4QNC2B1.CN1356164F2316. SKU SlotLayout SpecialRequirements Status Tag Base Board Version Weight Width

مرتضی تقدمی
چهارشنبه 06 مهر 1390, 16:39 عصر
سلام
توی همین سایت بگردید نمونه برنامه و کد بدست آوردن اطلاعات سخت افزار وجود داره. بسیار زیاد.
موفق باشید