IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Cle USB : Trouver sa lettre


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Par défaut Cle USB : Trouver sa lettre
    Bonjour a tous,

    Je suis a la recherche d'une solution simple pour trouver sur quel lettre s'est placé ma clé USB.
    J'ai actuellement un programme qui tourne sur le c: d'un windows vista
    Ce programme doit aller lire des infos sur une clé USB qui est deja branché a mon ordinateur mais dont j'ignore sa lettre. (il est la le probleme)

    N'ayant rien trouvé de réellement concluant sur le Net (pt mal chercher aussi)
    Voici ce que j'ai finis par faire

    Placé un fichier sur ma clé USB et tentative d'aller le lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if( f = fopen("c:/dossier/passwords.txt", "r" ) )
    		printf("Lecteur C:");
    	else if( f = fopen("d:/dossier/passwords.txt", "r" ) )
    		printf("Lecteur D:");
    	else if( f = fopen("e:/dossier/passwords.txt", "r" ) )
    		printf("Lecteur E:");
    	//else if( f = fopen("f:/dossier/passwords.txt", "r" ) )
    	//	printf("Lecteur F:");
    	else if( f = fopen("k:/dossier/passwords.txt", "r" ) )
    		printf("Lecteur K:");
    	else 
    		printf("Pas de lecteur");

    Avec cette méthode j'ai réussi partiellement a faire ce que je voulais. Ma clé USB sur le lecteur K est effectivement reconnu par ce procédé
    En revanche, le lecteur F provoque une grosse erreur car c'est un lecteur de carte que l'on retrouve sur certains PC

    Avez vous de meilleure méthode pour faire la même chose ?
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Tu dois pouvoir trouver ton bonheur ici.
    J'ai juste testé leur exemple. En creusant un peu, ça doit pouvoir constituer une bonne piste.
    Bon courage !

  3. #3
    Membre confirmé Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Salut,
    Tu dois pouvoir trouver ton bonheur ici.
    J'ai juste testé leur exemple. En creusant un peu, ça doit pouvoir constituer une bonne piste.
    Bon courage !
    Je viens de tester le code et hélas, ça fonctionne pour trouver l'ensemble des périphériques, ce qui est interessant pour ne pas ouvrir un fichier nulle part; En revanche, impossible de savoir lequel est la clé USB dont j'ai besoin

    Le gros souci reste ces lecteur de cartes intégrés
    Si on fais un fopen dessus, ou même un stream, cela prévient le programme d'une erreur mais continue l'exécution après avoir cliquer sur Ignorer, Continuer ou Recommencer.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Topeur Voir le message
    Je viens de tester le code et hélas, ça fonctionne pour trouver l'ensemble des périphériques, ce qui est interessant pour ne pas ouvrir un fichier nulle part; En revanche, impossible de savoir lequel est la clé USB dont j'ai besoin
    Ben justement. L'idée est de se servir de ça pour voir où est ta clé. Le nom du device ne t'aide pas?
    Citation Envoyé par Topeur Voir le message
    Le gros souci reste ces lecteur de cartes intégrés
    Si on fais un fopen dessus, ou même un stream, cela prévient le programme d'une erreur mais continue l'exécution après avoir cliquer sur Ignorer, Continuer ou Recommencer.
    Ca correspond à une exception levée. tu peux dans ta boucle trapper l'exception et passer à ton disque suivant. Mais, bon, la meilleur solution serait encore de taper directement sur le bon périphérique. Ta clé a un nom constant ?

  5. #5
    Membre confirmé Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Par défaut
    En faisant un listing des clés présente, je peux récupérer les lettres, mais ça ne m'aide pas plus que ça, et en mettant un nom sur ma clé, le listing ne me retourne pas ce nom. Code de chiffre et de lettre pour le nom

    Sinon, j'ai tenté de faire des blocs try/catch mais ce fut sans plus de resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
    {
       f=fopen("f:/dossier/passwords.txt", "r" )
       printf("%d",f);
    }
    catch (...)
    {
       printf("rien");
    }
    avec ce code (ou je précise que F est le lecteur de cartes integrés)
    Je retrouve toujours le même problème
    A savoir
    Je rentre bien dans le fopen, il y a un message d'erreur qui apparait en me disant qu'il y a une erreur de lecteur dans l'adresse mémoire....., cependant, je ne vais pas dans le catch mais reste dans le try et la fonction se deroule correctement en me faisant un printf 0 car l'ouverture n'as pas marché

    Pas cool tout ça

  6. #6
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    Tout simplement parce-que fopen() ne renvoie pas d'exception.
    Réfère-toi plutôt par rapport au retour de cette fonction.

Discussions similaires

  1. Monter une clé USB
    Par Ultra-FX dans le forum Matériel
    Réponses: 3
    Dernier message: 06/04/2007, 17h23
  2. Cle usb en read only
    Par elekis dans le forum Administration système
    Réponses: 2
    Dernier message: 14/03/2005, 08h29
  3. Problème Clé USB sous Fedora Core 2
    Par PeGaZe dans le forum Matériel
    Réponses: 5
    Dernier message: 18/11/2004, 13h41
  4. Démonter une clé USB
    Par Noki dans le forum Administration système
    Réponses: 8
    Dernier message: 27/09/2004, 23h46
  5. Clé USB + kernel-2.6.8.1
    Par bischof dans le forum Administration système
    Réponses: 4
    Dernier message: 08/09/2004, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo