System.Management и информация о материнской плате - C#
Формулировка задачи:
Добрый день. Нужна не большая помощь. Вот есть такой вот код
На экран выводится сообщение и все нормально работает и выдает то что показано на картинке.
И тут у меня есть 3 вопроса:
1. Правильно ли я понимаю что DeviceID - это серийный номер материнской платы ?
2. Нормально ли что поле DeviceID имеет значение Motherboard ?
3. Если это серийный номер могу ли я каким-то образом вытаскивать именно значение поля DeviceID ?
Нужно оно для того чтобы программа не копировалась.
static void Main(string[] args)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(
"SELECT * FROM Win32_MotherboardDevice");
ManagementObjectCollection information = searcher.Get();
foreach (ManagementObject obj in information)
foreach (PropertyData data in obj.Properties)
Console.WriteLine("{0} = {1}", data.Name, data.Value);
Console.ReadKey();
}Решение задачи: «System.Management и информация о материнской плате»
textual
Листинг программы
/// <summary>
/// Метод для получения Processor ID
/// </summary>
/// <returns>Processor ID</returns>
static string GetpID() {
string pID = string.Empty;
try {
SelectQuery query = new SelectQuery("Win32_processor");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
while (enumerator.MoveNext()) {
ManagementObject info = (ManagementObject)enumerator.Current;
pID = info["processorId"].ToString().Trim();
}
}
catch {
pID = "EC90BA";
}
if (string.IsNullOrWhiteSpace(pID)) {
pID = "EC90BA";
}
return pID.GetHashCode().ToString("X");
}
/// <summary>
/// Метод для получения MotherBoard ID
/// </summary>
/// <returns>Motherboard ID</returns>
static string GetmbID() {
string mbID = string.Empty;
try {
SelectQuery query = new SelectQuery("Win32_BaseBoard");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
while (enumerator.MoveNext()) {
ManagementObject info = (ManagementObject)enumerator.Current;
mbID = info["SerialNumber"].ToString().Trim();
}
}
catch {
mbID = "AB83BD";
}
if (string.IsNullOrWhiteSpace(mbID)) {
mbID = "AB83BD";
}
return mbID.GetHashCode().ToString("X");
}
/// <summary>
/// Метод для получения VideoController_RAM ID
/// </summary>
/// <returns>Videocontroller_RAM ID</returns>
static string GetvID() {
string vID = string.Empty;
try {
SelectQuery query = new SelectQuery("Win32_VideoController");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
while (enumerator.MoveNext()) {
ManagementObject info = (ManagementObject)enumerator.Current;
vID = info["AdapterRAM"].ToString().Trim();
}
}
catch {
vID = "FE51DC";
}
if (string.IsNullOrWhiteSpace(vID)) {
vID = "FE51DC";
}
return vID.GetHashCode().ToString("X");
}