Wie erhalte ich die Seriennummer der Festplatte ohne dll mit und unterstützt von VISTAWie verwende ich C#, um die Seriennummer der Festplatte zu erhalten?
8
A
Antwort
2
diesen Code Versuchen von here und lassen Sie uns wissen, ob es funktioniert:
// Namespace Reference
using System.Management;
/// <summary>
/// method to retrieve the selected HDD's serial number
/// </summary>
/// <param name="strDriveLetter">Drive letter to retrieve serial number for</param>
/// <returns>the HDD's serial number</returns>
public string GetHDDSerialNumber(string drive)
{
//check to see if the user provided a drive letter
//if not default it to "C"
if (drive == "" || drive == null)
{
drive = "C";
}
//create our ManagementObject, passing it the drive letter to the
//DevideID using WQL
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + drive +":\"");
//bind our management object
disk.Get();
//return the serial number
return disk["VolumeSerialNumber"].ToString();
}
EDIT: Und wenn das nicht der Fall ist Arbeit, versuchen Sie diesen Code aus dem CodeProject:
Zuerst müssen wir eine Klasse erstellen, um Informationen über eine Festplatte zu speichern:
class HardDrive
{
private string model = null;
private string type = null;
private string serialNo = null;
public string Model
{
get {return model;}
set {model = value;}
}
public string Type
{
get {return type;}
set {type = value;}
}
public string SerialNo
{
get {return serialNo;}
set {serialNo = value;}
}
}
Als nächstes fragen wir die Win32_DiskDrive Klasse:
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach(ManagementObject wmi_HD in searcher.Get())
{
HardDrive hd = new HardDrive();
hd.Model = wmi_HD["Model"].ToString();
hd.Type = wmi_HD["InterfaceType"].ToString();
hdCollection.Add(hd);
}
Jetzt müssen wir die Seriennummer aus der Win32_PhysicalMedia Klasse extrahieren:
searcher = new
ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
int i = 0;
foreach(ManagementObject wmi_HD in searcher.Get())
{
// get the hard drive from collection
// using index
HardDrive hd = (HardDrive)hdCollection[i];
// get the hardware serial no.
if (wmi_HD["SerialNumber"] == null)
hd.SerialNo = "None";
else
hd.SerialNo = wmi_HD["SerialNumber"].ToString();
++i;
}
Jetzt 363.210wir unsere Festplatte Informationen anzeigen:
// Display available hard drives
foreach(HardDrive hd in hdCollection)
{
Console.WriteLine("Model\t\t: " + hd.Model);
Console.WriteLine("Type\t\t: " + hd.Type);
Console.WriteLine("Serial No.\t: " + hd.SerialNo);
Console.WriteLine();
}
14
using System.Management;
public string GetHDDSerial()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
foreach (ManagementObject wmi_HD in searcher.Get())
{
// get the hardware serial no.
if (wmi_HD["SerialNumber"] != null)
return wmi_HD["SerialNumber"].ToString();
}
return string.Empty;
}
0
Hallo habe gerade diesen Link
Es ist für mich gearbeitet:
Herre ist der wesentliche Teil des Codes:
/// <summary>
/// return Volume Serial Number from hard drive
/// </summary>
/// <param name="strDriveLetter">[optional] Drive letter</param>
/// <returns>[string] VolumeSerialNumber</returns>
public string GetVolumeSerial(string strDriveLetter)
{
if(strDriveLetter=="" || strDriveLetter==null)
strDriveLetter="C";
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter +":\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
}
4
hier ist der Code, die für mich arbeiten:
ManagementObjectSearcher searcher = null;
searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject wmi_HD in searcher.Get())
{
HardDrive hd = new HardDrive();
try
{
txtmdl.Text = hd.Caption = wmi_HD["Caption"].ToString();
txtsn.Text=(hd.SerialNo = wmi_HD.GetPropertyValue("SerialNumber").ToString());
Habe ich nur noch 2 textBox der die Ergebnisse zu erhalten ,, Sie das gleiche tun können!
und die Festplatte Klasse:
public class HardDrive
{
public string Model { get; set; }
public string InterfaceType { get; set; }
public string Caption { get; set; }
public string SerialNo { get; set; }
}
Vergessen Sie nicht zu verwenden:
using System.Management;
Verwandte Themen
- 1. Wie verwende ich Reflektion, um die geschachtelte Eigenschaft zu erhalten
- 2. Wie verwende ich die Auftrags-ID, um Bestellinformationen zu erhalten?
- 3. Wie verwende ich Astropie/Astroquery, um Sloan Magnituden zu erhalten
- 4. CPU- oder Motherboard-Seriennummer erhalten?
- 5. Wie verwende ich XML :: XPath, um einen Elternknoten zu erhalten?
- 6. Wie bekomme ich die Seriennummer von Festplatten?
- 7. So erhalten Sie die Seriennummer des USB-Sticks in C#
- 8. Wie kann ich die Seriennummer des Festplattengeräts finden, ohne das WMI in .NET zu verwenden?
- 9. Wie verwende ich einen Internetzeitserver, um die Zeit zu bekommen?
- 10. Wie verwende ich SetFilePointerEx, um zum Ende einer physischen Festplatte zu gehen?
- 11. Hdd Seriennummer
- 12. Wie bekomme ich Xcode, um die Projektgruppenstruktur in der Ordnerstruktur auf der Festplatte zu replizieren?
- 13. OSS Nexus: Wie verwende ich REST API um die letzte Version als Text zu erhalten
- 14. Wie verwende ich einen Filter, um die Leistung zu messen?
- 15. Wie verwende ich org.apache.poi.ss.formula.FormulaParser, um die Formel zu analysieren?
- 16. Generieren der gerätespezifischen Seriennummer
- 17. Wie verwende ich die Kreuztabelle, um Werte in richtigen Spalten zu erhalten?
- 18. Wie verwende ich OpenStreetMap, um die Entfernung zwischen zwei Punkten zu erhalten?
- 19. Wie verwende ich Reflektion, um Eigenschaften zu erhalten, die explizit eine Schnittstelle implementieren? speziell
- 20. Wie verwende ich jquery, um die Höhe eines dynamisch erstellten Kindelements ohne ID zu erhalten
- 21. Wie verwende ich das PROXY-Protokoll, um die reale IP-Adresse des Clients zu erhalten?
- 22. Wie verwende ich mongoexport, um ein bestimmtes Format in der CSV-Datei zu erhalten?
- 23. Wie verwende ich TimeZoneInfo, um während der Sommerzeit lokale Zeit zu erhalten?
- 24. Wie verwende ich 2 + ToggleButtons, um den Gesamtwert der Schaltflächen zu erhalten?
- 25. Wie verwende ich nur eine Abfrage, um die Daten jeden Tag innerhalb eines Jahres zu erhalten?
- 26. Wie verwende ich Active Record, um diese Datensätze über die Verknüpfungen in Rails zu erhalten?
- 27. Wie verwende ich die Tags-Eigenschaft eines xml-Knotens, um seine Informationen und Attribute zu erhalten?
- 28. Wie verwende ich sklearns CountVectorizerrand(), um Ngrams zu erhalten, die alle Interpunktionen als separate Token enthalten?
- 29. Wie verwende ich die Trello API, um alle Karten mit einem violetten Etikett zu erhalten?
- 30. Wie verwende ich den Befehl Sed, um die folgende Ausgabe zu erhalten?
Ja, ich stimme ... WMI. –
gute Idee für mich –