باستخدام ج # كيف يمكنني استخراج المعلومات حول محركات الأقراص الصلبة موجودة على الجهاز المحلي

StackOverflow https://stackoverflow.com/questions/232979

  •  04-07-2019
  •  | 
  •  

سؤال

وأنا أبحث للحصول على بيانات مثل الحجم / السعة، المسلسل لا، نموذج رقم، رؤساء القطاعات، الصانع والبيانات ربما الذكية.

هل كانت مفيدة؟

المحلول

ويمكنك استخدام WMI يدعو للوصول إلى معلومات عن الأقراص الصلبة.

و// يتطلب استخدام System.Management. وSystem.Management.dll المرجعي

ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\""); 
disk.Get(); 
Console.WriteLine("Logical Disk Size = " + disk["Size"] + " bytes"); 
Console.WriteLine("Logical Disk FreeSpace = " + disk["FreeSpace"] + "bytes");

نصائح أخرى

ويجب عليك استخدام System.Management مساحة الاسم:

System.Management.ManagementObjectSearcher ms =
    new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject mo in ms.Get())
{
    System.Console.Write(mo["Model");
}

لمزيد من التفاصيل على أفراد الطبقة Win32_DiskDrive، وتحقق من:

http://msdn.microsoft.com/ أون لنا / مكتبة / aa394132 (VS.85) .aspx اتصال

وأسهل طريقة هي استخدام WMI للحصول على المعلومات المطلوبة. يأخذ في البحث في وثائق Win32___DiskDrive في MSDN، التي تحتوي على مجموعة متنوعة من خصائص محرك القياسية. يمكنك أيضا محاولة استخدام فئة MSStorageDriver_ATAPISmartData WMI، وأنا لا يمكن العثور على أي مستندات لفي الوقت الراهن، ولكن ينبغي أن يكون كافة البيانات الذكية التي كنت تبحث عنها. وإليك بعض التعليمات البرمجية الأساسية تعداد كافة محركات الأقراص والحصول على ممتلكاتهم:

ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection drives = driveClass.GetInstances();
foreach (ManagementObject drive in drives) 
{ 
    foreach (PropertyData property in drive.Properties)
    {
        Console.WriteLine("Property: {0}, Value: {1}", property.Name, property.Value);        
    }
    Console.WriteLine();
}

ويمكنك استخدام WMI للحصول على معظم المعلومات التي تريدها، وهناك مقدمة لWMI هنا .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top