Windows: So emulieren Sie ein internes Display in einer virtuellen Maschine

Windows: So emulieren Sie ein internes Display in einer virtuellen Maschine

Ich versuche, ein Programm in einer virtuellen Maschine auszuführen. Dieses Programm versucht, meine Anzeigeinformationen über Windows WMI mit einer Abfrage abzurufen:

var success = true;

List<Display> displays = new List<Display>();

// Query WmiMonitorBasicDisplayParams to retrieve display parameters
using (var searcher = new ManagementObjectSearcher(@"Root\WMI", "SELECT * FROM 
WmiMonitorBasicDisplayParams"))

using (var results = searcher.Get())

aus irgendeinem Grund kann Windows WMI die Anzeigeinformationen meines virtuellen Displays nicht abrufen und das Programm stürzt ab und verursacht diese Ausnahme:

Unhandled exception. System.Management.ManagementException: Not supported
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()

Dies geschieht in JEDER virtuellen Maschine und die Anzeige wird immer als KEIN PnP-Gerät klassifiziert.

Wie emuliere ich also ein echtes internes Display? (wie ein Laptop-Display), sodass Windows WMI das Programm nicht zum Absturz bringt? Gibt es sonst eine Möglichkeit, das Ergebnis einer WMI-Abfrage abzufangen und zu ändern und es dann an den C#-Code des Programms zurückzugeben?

Antwort1

Virtual Machine Apps (VMware, Virtual Box, Hyper-V) erstellen virtuelle Hardware (keine echte Hardware) zur Verwendung durch die Gastmaschinen.

Wie emuliere ich also ein echtes internes Display? (wie ein Laptop-Display), sodass Windows WMI das Programm nicht zum Absturz bringt? Gibt es sonst eine Möglichkeit, das Ergebnis einer WMI-Abfrage abzufangen und zu ändern und es dann an den C#-Code des Programms zurückzugeben?

Das können Sie nicht (wie in meinem ersten Kommentar). Was Sie versuchen, funktioniert in einer virtuellen Maschine nicht.

Ich verwende sowohl VMware als auch Hyper-V

Sie benötigen eine echte (physische) Maschine, um Ihr Programm auszuführen und zu testen.

verwandte Informationen