Windows는 장치 활성화 및 비활성화를 포함하여 프로그래밍 방식으로 장치를 관리하기 위해 SetupDi 제품군에 API를 제공합니다. . 그러나 모든 장치가 이 방법으로 비활성화를 지원하는 것은 아닙니다.
마우스 장치의 경우 기본 PS/2 호환 마우스 드라이버는 SetupDi API를 통한 비활성화를 지원하지 않습니다. PS/2 커넥터를 사용하여 실제 오래된 마우스를 핫 분리할 때 하드웨어가 불안정해질 수 있다는 우려가 있습니다.
SetupDi API를 사용하여 장치를 비활성화할 수 있는지 확인하려면 장치 관리자에서 "비활성화" 옵션을 확인하세요. 있는 경우 SetupDi API를 사용할 수 있습니다. 없으면 IOCTL 통신 옵션만 남습니다.
마우스 드라이버가 SetupDi API를 통한 비활성화를 지원하는 경우 다음 코드 조각은 비활성화하고 다시 활성화하는 방법을 보여줍니다. -C# 및 P/Invoke를 사용하여 활성화:
public static void EnableMouse(bool enable) { Guid mouseGuid = new Guid("{4d36e96f-e325-11ce-bfc1-08002be10318}"); string instancePath = @"ACPI\PNP0F03&3688D3F&0"; DeviceHelper.SetDeviceEnabled(mouseGuid, instancePath, enable); }
작업을 단순화하려면 제공된 코드 블록에서 DeviceHelper 라이브러리를 사용할 수 있습니다. 클래스 GUID, 인스턴스 ID 및 활성화/비활성화 플래그를 입력으로 사용하는 SetDeviceEnabled 메서드를 노출합니다.
위 내용은 Win32에서 장치를 프로그래밍 방식으로 활성화하거나 비활성화하려면 어떻게 해야 하며 제한 사항은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!