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

Composants VCL Delphi Discussion :

Auto-détection d'un périphérique USB


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Auto-détection d'un périphérique USB
    Bonjour,
    J'aimerais savoir s'il est possible sous Delphi de détecter la présence un périphérique USB. Existe-t-il des commandes ou composants tout faits sous
    Delphi ?

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Tu peux déjà lire cette discussion d'ero-sennin sur le sujet: ici

    @+ Claudius

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Tu peux aller voir mon thread (page 5 post 65 il y a les sources ainsi qu'une démo)

    En espérant que celà t'aide

    [Edit]
    Grillé

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Detection cle USB automatique
    J'ai télécharger la démo de ero-sennin concernant la détection automatique un périphérique USB. Je suis allé à la page 5 post 65 et télécharger DemoUSBStorage+paquetage(2)zip. Quand je compile l'application il y un message suivant: Fichier non trouvé 'Variant.pas'. D'après les conseils
    C:\Program Files\Borland\Delphi7\Sources\rlt\Sys mais je ne trouve pas est ce du faite que j'ai delphi 5 ? En ce qui concerne je voudrai bien un exe de ero-sennin pour voir s'il l'application me convient. Merci d'avance

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    A première vu, je dirai que le soucis provient de la configuration de Delphi ...
    Le mieux serait de faire une recherche sur ton disque dur du fichier mentionné (Variant.pas) afin de voir si il est bien présent sur ton disque dur.

    Sinon, je t'ai mis à disposition l'éxecutable.
    Tiens nous au courant de la situation!

    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Auto détection USB
    Ok merci ero-sennin il fonctionne sans aucun de souci mais quand j'insère la clé USB on voit la fenetre de windows de xp qui vienne s'afficher sur la fenetre de ton appli (si on peut fermer cette fenetre quand j'insère la cle USB). Sinon est cet exe a le meme code que "DemoUSBStorage+paquetage(2)zip"?.

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Pour enlever la fenêtre d'exécution automatique lors qu'un média est connecté, tu peux faire ceci :

    Cliquer Démarrer/Exécuter, puis saisir la commande suivante :

    gpedit.msc

    - Cliquer sur Configuration Ordinateur/Modèles d'administration/Système
    - Double-cliquer sur "Désactiver le lecteur automatique"
    - Là tu peux sélectionner soit :
    o "Activer" et mettre celà pour "Lecteur de CD-ROM"
    o "Désactiver"
    - Valider en cliquant sur OK
    Je n'ai pas le temps de voir celà par programmation ...

    Pour ta seconde question, la démo que je t'ai fourni est bien le projet qui provient de "DemoUSBStorage+paquetage(2)zip" ... Je l'ai juste compilé.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Auto détection USB
    La méthode pour enlever la fenêtre d'exécution automatique marche nickel. Bien vu l'Hérro. Mais par contre j'ai dézipper de

    nouveau "DemoUSBStorage+paquetage(2)zip" et quand je lance le projet dpr. J'ai un message suivant Classe TUSBSTORAGE non trouve. Ignorer l'erreur ou continuer etcc. Et quand je clique sur annuler j'ai une deuxième fenetre Erreur à la création de la fiche class TUSBStorage non trouve.

    Je crois qu'il faut installer le paquet mais j'ai un petit doute(écraser la configuration installer d'origine du PC).

    Avez vous rencontrer ce genre de message.

  9. #9
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut yann87,

    Concernant ton soucis, tu peux tout simplement installer le paquet (USBStorage.dpk) et cliquer sur compiler puis installer . Il va te mettre un nouvel onglet s'appellant JlnCompo.

    Par contre, je ne te suis pas en ce qui concerne ce passage:

    Citation Envoyé par yann87
    Je crois qu'il faut installer le paquet mais j'ai un petit doute(écraser la configuration installer d'origine du PC).

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Auto détection USB
    j'ai bien le paquet (USBStorage.dpk). Je vais dans composant et ensuite installer un composant. Je vais chercher le Paquet en question USBStorage.dpk. Ensuite dans nom d'unité je choisis "UUSBStorage.pas" et Nom du paquet je sélectionne (USBStorage.dpk). Je compile deux erreurs :

    1- [Erreur] USBStorage.dpk(4): Directive de compilation incorrecte : 'ALIGN'
    2- [Erreur fatale] USBStorage.dpk(28): Paquet requis 'rtl' non trouvé

    Je crois qu'il faut installer le paquet mais j'ai un petit doute(écraser la configuration installer d'origine du PC). Je travaille avec un pc du boulot quand je charge le composant le projet marche bien mais le souci c'est les autres projets dans ce PC je ne retrouve plus les fenetres comme avant : donc c'est la galère.

  11. #11
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par yann87 Voir le message
    j'ai bien le paquet (USBStorage.dpk). Je vais dans composant et ensuite installer un composant. Je vais chercher le Paquet en question USBStorage.dpk. Ensuite dans nom d'unité je choisis "UUSBStorage.pas" et Nom du paquet je sélectionne (USBStorage.dpk). Je compile deux erreurs :

    1- [Erreur] USBStorage.dpk(4): Directive de compilation incorrecte : 'ALIGN'
    2- [Erreur fatale] USBStorage.dpk(28): Paquet requis 'rtl' non trouvé

    Je crois qu'il faut installer le paquet mais j'ai un petit doute(écraser la configuration installer d'origine du PC). Je travaille avec un pc du boulot quand je charge le composant le projet marche bien mais le souci c'est les autres projets dans ce PC je ne retrouve plus les fenetres comme avant : donc c'est la galère.
    Pour ma part, je fais comme ceci :
    - Fermer Delphi
    - Double cliquer sur USBStorage.dpk
    - Cliquer sur Compiler puis sur Installer
    - Le composant est bien installé ...

    Sinon, tu peux faire autrement!

    Tu fais ceci :
    - Ouvrir Delphi
    - Fichier => Tout fermer
    - Composant
    - Installer un composant
    - Nom de l'unité => USBStorage.pas
    - Nom du paquet => dclusr.dpk (par défaut)
    - Ok

    J'espère que ton soucis sera résolu! Sinon, si tu ne retrouve plus les fenêtres ( je comprends par là que la palette de composant change de place), tu peux faire :
    - Composant
    - Configurer la Palette
    - Modifier à ta guise l'emplacement des composants

    J'espère répondre correctement à ta question
    @+

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Auto détection USB
    Je fais les deux méthodes toujours le même message d'erreurs. Je pense plutôt c'est ma version de delphi qui est peut-être pas compatible avec ce composant. Pour ma part j'ai la version de delphi 5. Et je ne peux faire autrement car "IL FAUT FAIRE DES ECONOMIES" comme dirai mon boss!!!!

    Alors passes de bon week-end et si tu reviens le Lundi avec une réponse alors je m'inclinerai trois fois avant de te poser la même question!

  13. #13
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par yann87 Voir le message
    Je fais les deux méthodes toujours le même message d'erreurs. Je pense plutôt c'est ma version de delphi qui est peut-être pas compatible avec ce composant. Pour ma part j'ai la version de delphi 5. Et je ne peux faire autrement car "IL FAUT FAIRE DES ECONOMIES" comme dirai mon boss!!!!

    Alors passes de bon week-end et si tu reviens le Lundi avec une réponse alors je m'inclinerai trois fois avant de te poser la même question!
    Alors là, je ne suis pas expert dans ce domaine
    Une autre piste, si tu veux utiliser le composant, serait de le créer de façon dynamique. Pour ce faire, (et pour faire simple), copie colle le fichier USBStorage.pas dans le dossier de ton projet. Ensuite, dans ton projet, tu rajoutes l'unité UUSBStorage dans les uses. Et pour terminer, tu crées ton composant dans le OnCreate de ta Form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, UUSBStorage;
     
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        procedure OnConnect(Sender: TObject);
        procedure OnDisconnect(Sender: TObject);
      end;
     
    var
      Form1: TForm1;
      USBStorage:TUSBStorage;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      USBStorage:=TUSBStorage.Create(Self);
      USBStorage.MediaType:=mtAll;
      USBStorage.ShowSizeType:=False;
      USBStorage.OnUSBConnect:=OnConnect;
      USBStorage.OnUSBDisconnect:=OnDisconnect;
    end;
     
    procedure TForm1.OnConnect(Sender: TObject);
    begin
      ShowMessage('Nouveau Média Inséré');
    end;
     
    procedure TForm1.OnDisconnect(Sender: TObject);
    begin
      ShowMessage('Média Déconnecté');
    end;
     
    end.
    Sinon, moi je suis sous Delphi 7 ... Si ceux qui ont une version 5 ont eu le même soucis mais ont trouvé la solution ... veuillent bien nous éclairer
    Merci

  14. #14
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2002
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2002
    Messages : 58
    Points : 155
    Points
    155
    Par défaut UUsbtorage.pas difficile à migrer sous Tokyo
    Bonjour, désolé de venir un peu tard sur cette discussion.

    J'essaie de compiler le composant usbstorage.dpk sous Delphi XE10.2 Tokyo

    J'ai bien l'unité UUSBStorage, ainsi que la dll setupapi.dll qui est dans syswow64

    Mais il y a quelques soucis. J'ai vu que ce composant utilise la JCL/JVCL installés sur mon poste.
    Il ne reconnait pas la commande loadApi. J'ai bien cherché sur le net du côté de la JCL/JVCL et JWCL, mais il n'y a rien à faire.

    Sur un autre poste avec Delphi XE2, pas de souci ... Sur le net, je ne vois guère la trace de UsbStorage qui pourtant semble appartenir à la jcl et outils connexes

    Peut-être y a t'il une idée sur ce forum(?) D'avance Merci

    Vadim

Discussions similaires

  1. Détection périphérique usb
    Par wolfdream dans le forum VBScript
    Réponses: 4
    Dernier message: 14/05/2011, 12h22
  2. Détection de périphérique USB en C
    Par b_zakaria dans le forum C
    Réponses: 4
    Dernier message: 06/05/2009, 14h15
  3. Java et détection de périphériques USB
    Par b_zakaria dans le forum Général Java
    Réponses: 1
    Dernier message: 05/05/2009, 09h49
  4. [XP] Détection aléatoire des périphériques USB
    Par aymen007 dans le forum Windows XP
    Réponses: 10
    Dernier message: 25/09/2007, 16h25
  5. Détection de la connection d'un périphérique USB sur Windows
    Par foued_scorpion dans le forum Windows
    Réponses: 7
    Dernier message: 27/10/2006, 16h15

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