Problem:
Geräte programmgesteuert über Win32-APIs aktivieren oder deaktivieren.
Diskussion:
Nicht alle Geräte können das über SetupDi-APIs deaktiviert oder aktiviert werden. Standardmaustreiber unterstützen diese Funktionalität nicht. Diese Einschränkung ergibt sich aus der Unfähigkeit, PS/2-verbundene Mäuse im laufenden Betrieb ohne Konsequenzen für die Hardware zu trennen.
Um zu überprüfen, ob ein Gerät über Win32-APIs deaktiviert werden kann, aktivieren Sie die Option „Deaktivieren“ im Geräte-Manager. Wenn das Gerät nicht vorhanden ist, kann es auf diese Weise nicht deaktiviert werden.
Wenn die Option „Deaktivieren“ vorhanden ist, befolgen Sie diese Schritte:
public static void EnableMouse(bool enable) { // mouse class GUID Guid mouseGuid = new Guid("{4d36e96f-e325-11ce-bfc1-08002be10318}"); // example instance path: @"\ACPI\PNP0F03&3688D3F&0" string instancePath = @"\ACPI\PNP0F03&3688D3F&0"; DeviceHelper.SetDeviceEnabled(mouseGuid, instancePath, enable); }
Code:
Beziehen Sie sich auf den bereitgestellten Code im DeviceHelper Klasse.
Einschränkungen:
Diese Methode kann bei Geräten fehlschlagen, die nicht über SetupDi-APIs deaktiviert werden können.
Das obige ist der detaillierte Inhalt vonKönnen Win32-APIs alle Geräte programmgesteuert aktivieren oder deaktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!