Hallo Leute,
eher zufällig stieß ich auf eine sehr einfache mögliche Lösung zu testen, ob das Programm in einer virtuellen Maschine läuft oder nicht.
Im Netz finden sich auch Lösungen, z.B. stackoverflow.com/questions/49…ning-in-a-virtual-machine
ich möchte eine weitere Möglichkeit vorstellen:
Bei der Abfrage der Seriennummer des Motherboardes kam in der VM eine
C#
VB.NET
Könnt Ihr das bitte mal bei Euch verifizieren, so Ihr eine VM habt?
Danke.
eher zufällig stieß ich auf eine sehr einfache mögliche Lösung zu testen, ob das Programm in einer virtuellen Maschine läuft oder nicht.
Im Netz finden sich auch Lösungen, z.B. stackoverflow.com/questions/49…ning-in-a-virtual-machine
ich möchte eine weitere Möglichkeit vorstellen:
Bei der Abfrage der Seriennummer des Motherboardes kam in der VM eine
"0"
zurück:C#-Quellcode
- /// <summary>
- /// Auslesen der Seriennummer des Motherboards
- /// </summary>
- /// <returns>die Seriennummer</returns>
- internal static string MotherBoard()
- {
- ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
- ManagementObjectCollection moc = mos.Get();
- try
- {
- foreach (ManagementBaseObject mo in moc)
- {
- foreach (PropertyData pd in mo.Properties)
- {
- try
- {
- if (pd.Name == "SerialNumber")
- {
- // es gibt nur ein Motherboard
- return pd.Value.ToString();
- }
- }
- catch
- {
- }
- }
- }
- }
- finally
- {
- moc.Dispose();
- mos.Dispose();
- }
- return null;
- }
VB.NET-Quellcode
- ' auf System.Management.dll verweisen
- Imports System.Management
- Public Function MotherBoard() As String
- Dim mos As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard")
- Dim moc As ManagementObjectCollection = mos.Get()
- For Each mo As ManagementBaseObject In moc
- For Each pd As PropertyData In mo.Properties
- Try
- If pd.Name = "SerialNumber" Then
- ' es gibt nur ein Motherboard
- Return pd.Value.ToString()
- End If
- Catch
- 'ignore errors
- End Try
- Next
- Next
- moc.Dispose()
- mos.Dispose()
- Return String.Empty
- End Function
Könnt Ihr das bitte mal bei Euch verifizieren, so Ihr eine VM habt?
Danke.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!