問題:
Win32 を使用してプログラムでデバイスを有効または無効にするAPI.
ディスカッション:
SetupDi API を使用してすべてのデバイスを無効または有効にできるわけではありません。デフォルトのマウス ドライバーはこの機能をサポートしていません。この制限は、PS/2 接続されたマウスをハードウェアに影響を与えることなくホットデタッチできないことから発生します。
Win32 API 経由でデバイスを無効にできるかどうかを確認するには、デバイス マネージャーの [無効] オプションを確認してください。存在しない場合、この方法ではデバイスを無効にすることはできません。
無効オプションが存在する場合は、次の手順に従います。
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); }
コード:
提供されたコードを参照してくださいDeviceHelper 内class.
制限事項:
このメソッドは、SetupDi API 経由で無効にできないデバイスでは失敗する可能性があります。
以上がWin32 API はプログラムですべてのデバイスを有効または無効にできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。