Détecter la protection en écriture d'un disque

Signaler
Messages postés
30
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
24 mars 2011
-
Messages postés
30
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
24 mars 2011
-
Bonjour,

Je suis en plein développement d'un lanceur d'applications sur support amovibles (Type Clé USB).

Mon problème, comment vérifier que la clé autorise bien l'écriture. Je n'arrive pas à intercepter l'exception d'une erreur en écriture sur un support protégé avant l'affichage du messagebox de windows.

Ce que je voudrais c'est gardé le contrôle de l'action et ne pas avoir le message de windows.

Une idée ?

3 réponses

Messages postés
30
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
24 mars 2011

Petite précision, afin de tester l'état de la clé, j'utilise simplement le changement du label de la clé, si l'opération de passe bien le disque n'est pas protégé dans le cas contraire la clé est protégée :

try
{
// Récupère le lecteur depuis lequel l'application est lancée
string currentDrive = Environment.CurrentDirectory.Substring(0, 2);
DriveInfo currentDriveInfo = new DriveInfo(currentDrive);
// Je sauvegarde le label drive actuel
string sauvegarde = currentDriveInfo.VolumeLabel;
// Je tente de le modifier
currentDriveInfo.VolumeLabel = "TEST";
// Je rétablie l'ancien label
currentDriveInfo.VolumeLabel = sauvegarde;
return true;
}
catch (System.IO.IOException)
{
return false;
}
Messages postés
30
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
24 mars 2011

Poursuite des recherche...

D'après mes recherches il me faut intervenir au niveau de windows et récupéré le l'erreur 19 ERROR_WRITE_PROTECT cette erreur serait gérée par le kernel32 fonction GetLastError... mouai suis pas plus avancé peu d'infos sur le sujet
Messages postés
30
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
24 mars 2011

Un bon vieux message^^

Pour cette fameuse erreur après quelques heures de recherches j'ai trouvé la cause du problème...

Lorsque je tentais de modifier le label d'un lecteur protégé en écriture, j'obtenais un message de Windows qui m'indiquait que le lecteur était protégé en écriture. PB il intervenait avant mon traitement try/catch.

Pour je ne sais quelle raison ce problème (ou plutôt ce message) m'informer (dans son titre) qu'il provenait de Ipointer (qui est un pilote microsoft, celui qui gère ma souris sans fil), et bien je l'ai désinstallé et le message a disparu^^