Pergunta

Estou procurando uma API programaticamente sobre como reiniciar qualquer dispositivo que permita ativar/desativar no gerenciador de dispositivos,

como dispositivos de áudio e adaptador de rede

Foi útil?

Solução

Você terá que usar Setupapi / API ConfigManager. Mas esteja ciente de que, em X64, você aplicou. Deve ser também x64 para ativar/desativar o dispositivo (para que você não possa fazê -lo diretamente no Delphi agora - primeiro eu pensei que é um problema com o redirecionamento de arquivo/registro para x86 -App sob x64, mas não ajudou). A enumeração do dispositivo funciona bem. Havia algo sobre isso em um artigo no MSDN, mas não consigo encontrá -lo agora. Fiz o aplicativo FP/Lazarus X64 para ativar/desativar dispositivos no sistema operacional x64.

Você pode baixar WDK e procure o código -fonte de DevCon (C: winddk 7600.16385.1 src setup devcon). No cmds.cpp, existe o controle da função que permite/desativa o dispositivo usando o SetupApi). Mas primeiro você precisa enumerar as classes de dispositivos (por Guid ou ClassName) e, em seguida, enumerar as instâncias do dispositivo ou abrir o dispositivo pela String DeviceInstanceId. Está em C, mas deve ser fácil aprender a usar essa API.

Não tenho certeza do que você está fazendo, mas talvez seja mais fácil usar esse devcon.exe (não sei se a licença permite) e ativar/desativar dispositivos por ele?

Outras dicas

Não tenho experiência com isso, mas acho que você pode usar o Dispositivo de dispositivo API.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top