PDA

View Full Version : سوال: شماره سریال سخت افزاری هارد دیسک



pbm_soy
جمعه 21 آبان 1389, 02:19 صبح
سلام
در یکی از تاپیکها کد زیر را برای بدست آوردن سریا هارد دیسک گذاشته بودند

using System.Management;

private void GetHDDSerialNumber()
{
ManagementObjectSearcher searcher;
string query1 = "SELECT * FROM Win32_DiskDrive";
string query2 = "SELECT * FROM Win32_PhysicalMedia";

searcher = new ManagementObjectSearcher(query1);
foreach (ManagementObject wmi_HD in searcher.Get())
if (wmi_HD["Model"] != null)
MessageBox.Show(wmi_HD["Model"].ToString());

searcher = new ManagementObjectSearcher(query2);
foreach (ManagementObject wmi_HD in searcher.Get())
if (wmi_HD["SerialNumber"] != null)
MessageBox.Show(wmi_HD["SerialNumber"].ToString());
}

فکر می کنم این کد سریال را ااز ویندوز می گیرد که فکر می کنم تو رجیستری ویندوز ثبت شده اند و یا از بخشی از حافظه سیستم که در زمان لود ویندوز اطلاعات سخت افزاری در آن بخش لود می شوند

حال سوالم اینه که راه دیگری برای بدست آوردن سریال وجود دارد؟؟؟
چون اگر این اطلاعات از ویندوز گرفته شوند قابل تغییر هستند و حتی در حافظه رم هم باشد باز هم قابل تغییر است
اگر بتوان آنها را مستقیم از خود سخت افزار خوند خیلی بهتر است آیا راهی وجود دارد؟؟

با تشکر

Amir Oveisi
جمعه 21 آبان 1389, 10:22 صبح
فکر می کنم این کد سریال را ااز ویندوز می گیرد
اگر از ویندوز نخواهید بگیرید باید خودتون یک درایور برای ارتباط با اون دستگاه بنویسید.


فکر می کنم تو رجیستری ویندوز ثبت شده اند و یا از بخشی از حافظه سیستم که در زمان لود ویندوز اطلاعات سخت افزاری در آن بخش لود می شوند

توصیه می کنم حتما این لینک رو که در مورد معماری و ساختار WMI توضیح داده، مطالعه کنید:
http://msdn.microsoft.com/en-us/library/aa394553%28v=VS.85%29.aspx


حال سوالم اینه که راه دیگری برای بدست آوردن سریال وجود دارد؟؟؟
چون اگر این اطلاعات از ویندوز گرفته شوند قابل تغییر هستند و حتی در حافظه رم هم باشد باز هم قابل تغییر است
اگر هدفتون رو از این کار بگید شاید بشه بهتر راهنمایی کرد.

موفق باشید

pbm_soy
جمعه 21 آبان 1389, 15:02 عصر
بابت لینک ممنون راهنمایی خوبی بود
هدف درست کردن قفل است