Tento desativar um dispositivo USB quando ele é inserido na versão do Windows Família (sem GPO). Eu trabalhei em torno de várias línguas para chegar ao meu fim, mas sem sucesso.Eu procuro por um método correspondente ao linux udev.
Eu quero desativar o dispositivo USB enquanto o 'hot-plug', mas eu não sei se isso é possível.
Minhas primeiras abordagens:
- Setupapi library in C ++ and C #
- PowerShell cmdlet Disable-PNPDevice
- The device I want is to disable a keyboard so I also looked around win32_keyboard classes CIM_keyboard and others ...
- Next step is Windows Drivers ...
Meu problema com essas soluções é que o dispositivo deve ser removido e reinserido para que a desativação entre em vigor quando eu quiser que a desativação entre em vigor imediatamente após a inserção.
No registro do Windows ( HKLM \ SYSTEM \ CurrentControlSet \ Services \ kbdclass or kbdhid
), o valor chamado Start
pode ser gerenciado ( 0x04
= Disable) dependendo da classe, mas se eu entendi, se eu fizer isso, o serviço associado não será iniciado, então nesses casos que fazem meu segundo teclado (principal) permanecer ativo e eu não me encontro sem um teclado.
O que você acha da biblioteca libusb-win32? Existe uma chave de registro do Windows específica para alterar o status do dispositivo instantaneamente?
Eu queria saber se isso é possível e pode ser guiado? Obrigado.