Desativa (ou desliga) uma interface de rede no Windows, mas mantém o “plug and play”

2

Estou procurando uma boa solução para fazer isso no Windows 7 e no Windows XP:

  • Desative ou torne ineficaz a interface de rede (ETH, WIFI, qualquer NIC).
  • Se o usuário conectar seu cabo ETH, a interface de rede será ativada novamente.

Notas importantes para cuidar:

  • Estou trabalhando com wmic no Win7 (por meio da linha de comando)
  • Estou trabalhando com devcon no WinXP (por meio da linha de comando)
  • Estou trabalhando especificamente com o .NET Framework 2.0 em C #, mas isso é apenas para fins informativos.
  • Sei que um evento não me ajudará a detectá-lo (se houver uma maneira ou solução alternativa para isso, não sei).

O problema real é que, quando desativo a NIC, não consigo saber se o usuário conecta seu cabo ou se tem uma rede com fio. É por isso que estou procurando uma solução alternativa.

Vou tratar as sugestões como respostas se não houver resposta direta. Eu vou fornecer qualquer detalhe extra necessário.

    
por Leandro Tupone 30.05.2012 / 02:48

1 resposta

1

Não pode ser feito. Quando a interface estiver desativada, o Windows não poderá ver quando um cabo foi conectado. Ele precisa da interface ativada para conversar com ele e obter as informações sobre se possui ou não conectividade de rede. O melhor é verificar se você pode encontrar uma maneira de deixar a interface ativada, mas não disponível no nível do aplicativo, e ativar esse nível quando houver conectividade. Esta é obviamente uma questão de programação e não apropriada para SF.

    
por 30.05.2012 / 08:07