Accueil > Forum > > > > Soucis avec l'USB
Soucis avec l'USB
vendredi 23 mars 2007 à 12:34:44 |
Soucis avec l'USB

Frenz
|
Bonjour, depuis plusieurs heure je cherche une solution a mon probleme et sur le net je ne trouve rien (ou j'ai mal cherché) Depuis peu, je suis sur un projet en rapport avec l'ultilisation de l'USB. Aucuns soucis mise à part que je n'arrive pas a ouvrir un dossier d'une clé dans l'explorateur windows que ce soit sur n'importe quel ordinateur (donc changement de Lettre de lecteur de l'USB et du disque dure de l'hote) C:\windows\explorer.exe peut devenir E:\windows\explorer.exe
quand à L'usb peut etre G:\dossier\ ou f:\dossier... enfin vous voyez ? J'ai essayé avec le composant "sysinfo" mais pas réussit... Utilisation de shell avec app.path idem Si quelqun d'entre vous pourrai m'eclaircir ca serai vraiment sympa. (-:fr3nz:-)
|
|
vendredi 23 mars 2007 à 12:49:52 |
Re : Soucis avec l'USB

Renfield
|
WMI doit pouvoir t'aider
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
vendredi 23 mars 2007 à 13:06:31 |
Re : Soucis avec l'USB

jmfmarques
|
Bonjour Frenz,
Il va te falloir être très précis :
Plusieurs "clés" USB peuvent être présentes au même moment sur un PC.
A quoi reconnais-tu la tienne, donc ? Ta réponse précise emportera la mienne, également alors précise... sinon : impossible de voir où tu veux aller ainsi...
|
|
vendredi 23 mars 2007 à 13:50:15 |
Re : Soucis avec l'USB

Frenz
|
Pour etre plus precis je peut dire que la clé USB ciblé contient un certain fichier (le fichier du programme) a la racine de celle ci.
comme par exemple a la racine : \USBme.exe
Donc le lecteur ciblé contient USBme.exe, le programme doit trouver la clé contenant "USBme" pas bète merci. Mais je ne sais pas comment je pourrait mis prendre
(-:fr3nz:-)
|
|
vendredi 23 mars 2007 à 13:51:01 |
Re : Soucis avec l'USB

Frenz
|
Mais ca peut aussi etre par rapport au nom de volume de la clé USB ? ca serait pe etre plus simple
(-:fr3nz:-)
|
|
vendredi 23 mars 2007 à 14:34:27 |
Re : Soucis avec l'USB

jmfmarques
|
Moi, je bveux bien, Frenz, mais j'ai des principes bien ancrés, parmi lesquels ne jamais conduire l'autre sur un chemin s'il en ignore tout.
Je ne t'y conduis donc que si je suis sur que rien ne t'échappe : Philosophie :
1) on regarde tous les lecteurs disponibles 2) pour chaque lecteur, on regarde son type 3) si le type correpond, on l'examine de plus près et on décide en connaissance de cause ...
Etape 1, donc : recensement des lecteurs présents : Sur une Form un bouton de commande command1
Code
Const MAX_PATH = 260 Private Type MSGBOXPARAMS cbSize As Long hwndOwner As Long hInstance As Long lpszText As String lpszCaption As String dwStyle As Long lpszIcon As String dwContextHelpId As Long lpfnMsgBoxCallback As Long dwLanguageId As Long End Type Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Sub Command1_Click() Dim MBP As MSGBOXPARAMS, LDs As Long, Cnt As Long, sDrives As String disques = GetLogicalDrives For Cnt = 0 To 25 If (disques And 2 ^ Cnt) <> 0 Then MsgBox Chr$(65 + Cnt) End If Next Cnt End Sub
Vois ce que celà fait et analyse. La suite viendra ensuite, en ne modifiant que command1, pas à pas... Tu dis....
|
|
vendredi 23 mars 2007 à 14:46:23 |
Re : Soucis avec l'USB

Frenz
|
Interessant mais j'avoue que là ce n'est pas le code mais toi qui me fascine car j'aime beaucoup ta façon de penser.
Bref.... Je regarde le code et te repond mais sache que je ne met rien dans mes programmes que je ne connaisse pas.
Donc je regarde
(-:fr3nz:-)
|
|
vendredi 23 mars 2007 à 15:06:04 |
Re : Soucis avec l'USB

Frenz
|
Pour l'instant ca va, l'analyse est ok mais je peut bien lui faire analyser le nom du volume à cette étape non ?
(-:fr3nz:-)
|
|
vendredi 23 mars 2007 à 15:08:37 |
Re : Soucis avec l'USB

jmfmarques
|
Non, pas encore v(étape par étape)
Etape 2 :
voilà le code (à lancer, regarder attentivement les messages reçus, un par un... tu vas voir les choses commencer à prendre raison...) :
Private Type MSGBOXPARAMS cbSize As Long hwndOwner As Long hInstance As Long lpszText As String lpszCaption As String dwStyle As Long lpszIcon As String dwContextHelpId As Long lpfnMsgBoxCallback As Long dwLanguageId As Long End Type Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" ( _ ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, _ lpFileSystemFlags As Long, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Long) As Long Private typelecteur As String Private Sub Command1_Click() Dim LDs As Long, Cnt As Long, disques As String disques = GetLogicalDrives For Cnt = 0 To 30 If (disques And 2 ^ Cnt) <> 0 Then titi = Chr$(65 + Cnt) infoslecteur Trim(titi) & ":\", toto, nmserie, nomvolume If toto = "INSERABLE" And titi <> "A" Then toto = toto & vbCrLf & "il nous intéresse donc" & vbCrLf & "car peut-être notre clé USB" End If MsgBox titi & " est un lecteur " & toto End If Next Cnt End Sub
Private Sub infoslecteur(lecteur, typelecteur, nmserie, nomvolume) Dim numserie As Long, Serie As String Dim retVal As Long Dim DriveType As String retVal = GetDriveType(lecteur) Select Case retVal Case 0 typelecteur = "INDETERMINE" Case 1 typelecteur = "NO ROOT" Case 2 typelecteur = "INSERABLE" Case 3 typelecteur = "DISQUE DUR" Case 4 typelecteur = "DISTANT" Case 5 typelecteur = "CD ROM" Case 6 DriveType = "RAMDISK" End Select nomvolume = Space$(15) ResStr = Space$(32) retVal = GetVolumeInformation(lecteur, nomvolume, Len(nomvolume), _ numserie, dum, dum, ResStr, Len(ResStr)) Serie = Right(String(8, "0") + Hex$(numserie), 8) nmserie = Left(Serie, 4) + "-" + Right$(Serie, 4) numvolume = Trim(nomvolume) End Sub
|
|
vendredi 23 mars 2007 à 15:08:39 |
Re : Soucis avec l'USB

jmfmarques
|
Non, pas encore v(étape par étape)
Etape 2 :
voilà le code (à lancer, regarder attentivement les messages reçus, un par un... tu vas voir les choses commencer à prendre raison...) :
Private Type MSGBOXPARAMS cbSize As Long hwndOwner As Long hInstance As Long lpszText As String lpszCaption As String dwStyle As Long lpszIcon As String dwContextHelpId As Long lpfnMsgBoxCallback As Long dwLanguageId As Long End Type Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" ( _ ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, _ lpFileSystemFlags As Long, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Long) As Long Private typelecteur As String Private Sub Command1_Click() Dim LDs As Long, Cnt As Long, disques As String disques = GetLogicalDrives For Cnt = 0 To 30 If (disques And 2 ^ Cnt) <> 0 Then titi = Chr$(65 + Cnt) infoslecteur Trim(titi) & ":\", toto, nmserie, nomvolume If toto = "INSERABLE" And titi <> "A" Then toto = toto & vbCrLf & "il nous intéresse donc" & vbCrLf & "car peut-être notre clé USB" End If MsgBox titi & " est un lecteur " & toto End If Next Cnt End Sub
Private Sub infoslecteur(lecteur, typelecteur, nmserie, nomvolume) Dim numserie As Long, Serie As String Dim retVal As Long Dim DriveType As String retVal = GetDriveType(lecteur) Select Case retVal Case 0 typelecteur = "INDETERMINE" Case 1 typelecteur = "NO ROOT" Case 2 typelecteur = "INSERABLE" Case 3 typelecteur = "DISQUE DUR" Case 4 typelecteur = "DISTANT" Case 5 typelecteur = "CD ROM" Case 6 DriveType = "RAMDISK" End Select nomvolume = Space$(15) ResStr = Space$(32) retVal = GetVolumeInformation(lecteur, nomvolume, Len(nomvolume), _ numserie, dum, dum, ResStr, Len(ResStr)) Serie = Right(String(8, "0") + Hex$(numserie), 8) nmserie = Left(Serie, 4) + "-" + Right$(Serie, 4) numvolume = Trim(nomvolume) End Sub
|
|
Cette discussion est classée dans : explorer, windows, dossier, usb, soucis
Répondre à ce message
Sujets en rapport avec ce message
Explorateur windows [ par techouet ]
Salut tout le monde!Je recherche un moyen pour sélectionner un dossier à l'aide d'un exploratuer du type windows.En effet la commande GetOpenFileName
Recharger explorer.exe apres le demarrage de Windows [ par Jeremy Salmon ]
Bonjour,Voila le probleme :Dans system.ini j'ai remplace le [shell]=explorer.exe (l'interface du bureau de Windows Standard) par une application bidon
capter les evenements de l'explorer de windows [ par mathias31 ]
bonjours a tous !De quelle maniere peut on intercepter l'evenement qui ce produit lorsque l'on clique sans relacher le boutton de droite o
capter les evenements de l'explorer de windows [ par mathias31 ]
bonjours a tous !De quelle maniere peut on intercepter l'evenement qui ce produit lorsque l'on clique sans relacher le boutton de droite ou de gauche
Windows XP : mes documents!!! [ par GhnombX ]
Hello!Je voudrais déclacer l'adresse du dossier ou sont stockés les trucs sur winXPC:\Documents and Settings\[utilisateur]\Mes documentspour une adres
Comment visualiser un contenu d'un site FTP comme sous windows explorer et ci déplacer [ par Alf ]
Bonjour,Y a t'il une ou des personnes qui sachent comment je peux visulaliser le contenu d'un site FTP comme avec windows Explorer, m'y deplacer et se
Il est ou le dossier windows !!!!!!!!!!!!!!!!! [ par Booster ]
Slt je voudrais ne pas ordonner un disque dur a mon programe je voudrais que mon programme cherche automatiquement le disque dur ou ce trouve windowsp
dossier %System% [ par ironz ]
salut,je voudrai savoir s'il existe un nom pour le dossier systeme.example: je veut ke le program ouvre le dossier systeme.je sais ke dans des setup c
WTF??? Erreur avec dossier windows [ par ironz ]
jai mit ca dans ma form:Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Lon
mot de passe pour dossier windows [ par Pouvoir ]
et bien ! j'ai un dossier précis ,et je veux limiter l'acces.par un mot de passe... mais Comment?
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|