Win32 でのプログラムによるデバイスの有効化/無効化: 課題と解決策
通常、デバイス マネージャーからデバイスを無効にできますが、すべてのデバイスが無効になるわけではありません。このメソッドにより「無効化-有効化」されます。具体的には、タッチパッドを備えたほとんどのラップトップ (「PS/2 互換マウス」) のデフォルトのマウス ドライバーは、SetupDi API を使用して無効にすることができません。
解決策:
デバイス マネージャーまたは SetupDi API を介してタッチパッドを無効にできない場合は、IOCTL を受け入れるフィルター ドライバーを作成するなど、他のアプローチを検討する必要がある場合があります。マウスイベントメッセージを有効または無効にします。あるいは、生の PDO を利用してユーザー モードと通信することもできます。
注:
プログラムでデバイスを無効にしようとする場合、デバイスが実際に無効にできることを確認することが重要です。無効になる。これは、デバイス マネージャーで無効にするオプションが利用可能かどうかを確認することで実行できます。無効にするオプションが存在しない場合、SetupDi またはデバイスを無効にする他の API 呼び出しを使用するとエラーが発生する可能性があります。
以上がWin32 でデバイス、特にタッチパッドなどの問題のあるデバイスをプログラムで有効または無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。