soulseek85
Messages postés4Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention20 juin 2007
-
19 juin 2007 à 17:28
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011
-
20 juin 2007 à 18:16
Bonjour,
pendant mon stage, je suis chargé de déveloper un logiciel pour piloter une petite machine. Le logiciel est pret, il fonctionne sur mon pc.
pour communiquer, je dispose d'un port serie et aussi d'un adaptateur serie/usb pour pouvoir connecter la machine a un pc qui n'a pas de port serie.
je demande donc au programme d'aller chercher dans la base de registre le numero COM... qui a été créé lors de la connection de la machine.
je vais donc chercher dans : HKEY_LOCAL_MACHINE\system\currentcontrolset\enum\usb\vid_067b&PID_2303\5&21ed38b5&0&1
le probleme, c'est que sur le deuxieme pc le denier repertoire ne porte pas le meme nom. le seul point commun est le 5& du debut... est ce qu'il est possible d'ouvrir un repertoire dont on connait que le debut du nom et si oui comment? sinon y-a-t-il une autre solution?
Merci d'avance de l'aide que vous pourrez m'apporter
Francois
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 20 juin 2007 à 13:16
Imports
Microsoft.Win32
Dim keylocalmachine As Microsoft.Win32.RegistryKey
keylocalmachine = Microsoft.Win32.Registry.LocalMachine
Dim key As Microsoft.Win32.RegistryKey
key = keylocalmachine.OpenSubKey("SYSTEM\CurrentControlSet\Enum\USB\Vid_067b&Pid_2303")
dim sKeys() as String = key.GetKeyNames()
for each sKey in sKeys
if sKey like "5&*" then
exit for
end if
next
Dim deviceparameters As Microsoft.Win32.RegistryKey
deviceparameters = key.OpenSubKey(sKey & "\Device Parameters")
Me.SerialPort1.PortName = CType(deviceparameters.GetValue("PortName"), String)
peut etre ai je mal compris tu m'en verrais dsl je trouve pas tout tres clair de plus j'ai regardé sur ma base de registre les numero de serie different donc si tu veux publier ton application ca risque de te surprendre ca aussi
soulseek85
Messages postés4Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention20 juin 2007 20 juin 2007 à 09:46
bonjour,
merci de ta réponse, mais j'ai deja beaucoup cherché a ce niveau la et je n'arrive pas a trouver ce qui m'interesse. Le probleme est que je ne sais pas quel nom aura le port que je vais utiliser, la seule facon dont je dispose pour savoir de quel port il s'agit est de passer par la base de registre et de retrouvrer mon serial to usb converter...et du coup le probleme du repertoire qui change de nom selon les ordinateurs reapparait.
est il possible de selectionner un repertoire uniquement avec le debut de son nom?
voici la procedure de recherche du port :
Imports Microsoft.Win32
Dim keylocalmachine
As Microsoft.Win32.RegistryKey
keylocalmachine = Microsoft.Win32.Registry.LocalMachine
Dim keysystem
As Microsoft.Win32.RegistryKey
keysystem = keylocalmachine.OpenSubKey(
"SYSTEM")
D
im keycurrentcontrolset
As Microsoft.Win32.RegistryKey
keycurrentcontrolset = keysystem.OpenSubKey(
"CurrentControlSet")
Dim kenum
As Microsoft.Win32.RegistryKey
kenum = keycurrentcontrolset.OpenSubKey(
"Enum")
Dim kusb
As Microsoft.Win32.RegistryKey
kusb = kenum.OpenSubKey(
"USB")
Dim vidpid
As Microsoft.Win32.RegistryKey
vidpid = kusb.OpenSubKey(
"Vid_067b&Pid_2303\5&21ed38b5&0&1")
Dim deviceparameters
As Microsoft.Win32.RegistryKey
deviceparameters = vidpid.OpenSubKey(
"Device Parameters")