Como detectar as letras das unidades atribuídas duas vezes?

6

Existe um pequeno erro no Windows no qual gostaria de criar uma pequena aplicação como solução. Então, na minha empresa temos várias unidades de rede (F: \, G: \, H: \, I: \ etc) e às vezes se eu conectar um dispositivo USB externo, como um leitor de cartão, o Windows irá atribuir um já usado letra da unidade. Por exemplo, eu tenho uma unidade de rede F: \, e conecto meu leitor de cartão, que também atribui F: \ a este dispositivo, então não posso usar esse dispositivo USB, até que eu mude sua letra de unidade.

Então, minhas perguntas são:

  • Como posso detectar esses dispositivos ou gerar letras quando eles são atribuídos duas vezes?
  • Como posso detectar qual deles é um dispositivo USB?
  • Como posso reatribuir uma letra de unidade a esse dispositivo?

Eu quero fazer isso em C.

Obrigado.

    
por kampi 24.08.2011 / 07:59

1 resposta

2

a maior parte do que você deseja pode ser feita com FindFirstVolume e seus amigos (o exemplo aqui cobre tudo ), para obter o tipo, você usaria GetDriveType , finalmente, SetVolumeMountPoint renomeia uma letra de unidade de dispositivo .

    
por 24.08.2011 / 08:37