apojd
Messages postés4Date d'inscriptionmercredi 28 janvier 2004StatutMembreDernière intervention21 juin 2004
-
21 juin 2004 à 12:21
nah666
Messages postés75Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 7 janvier 2008
-
25 mai 2005 à 08:31
Bonjour,
Je cherche la manière de connaître les ports com actif et leur description (comme sur le gestionnaire de péripheriques) sur le PC sous Windows.
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 21 juin 2004 à 13:13
avec le mscontrol, tu peux ouvrir toute une serie de port(mscomm1.portopen), si un port peut etre ouvert alors aucun message d'erreur, dans ce cas tu le fermes juste apres(+ procedure de listage), si il n'existe pas, il va t'envoyer un message d'erreur que tu peux gerer (code : 8002 "port non valide"). Pour avoir les informations, c'est un autre pb que je ne connais pas.
il doit y avoir d'autres moyens
apojd
Messages postés4Date d'inscriptionmercredi 28 janvier 2004StatutMembreDernière intervention21 juin 2004 21 juin 2004 à 14:29
Merci Liquide
J'ai déjà implémenté cette technique qui marche bien, et je souhaitais que l'utilisateur selectionne le port est connecté mon boîtier grace à la description, sinon il doit aller dans les propriétés systèmes.
nah666
Messages postés75Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 7 janvier 20081 21 déc. 2004 à 11:56
Euh c pas terrible les gars, de générer des erreurs pour les traiter ensuite..
La liste des port com reconnus doit se trouver dans la base de registre comme pour les imprimantes, par contre je sais pas ou dsl, je suis en train de chercher
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 21 déc. 2004 à 15:31
euhhhh , fait ta gestion de la base de registre, puis trouves les ports com en les listant et ensuite continue ton prog normalement.
elle n'est peut etre pas terrible mais elle est rapide et elle permet d'avoir la solution exacte avec un moindre code, ce qui l'est moins pour ta base de registre.
D'autant plus que l'erreur retournée est la pour la gestion, donc elle est permise, ce qui implique un code exact.
c'est juste mon avis.
Bonne prog, poele_a_frire@hotmail.com
liquide
Vous n’avez pas trouvé la réponse que vous recherchez ?
mathew_bitshy
Messages postés11Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention11 juillet 2005 24 mai 2005 à 18:06
Salut,
Je suis d'accord, l'utilisation de la base de registre est top.
Se serai sympas d'avoir un exemple de code pour en avoir l'accès.
Merci d'avance.
Mathew--
nah666
Messages postés75Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 7 janvier 20081 25 mai 2005 à 08:31
Jai trouvé ce fichier sur VBfrance, je ne sais plus qui est l'auteur dsl :
'debut reg.bas
Option Explicit
'// Register _
{
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias
"RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult
As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias
"RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String,
ByVal lpReserved As Long, lpType As Long, ByVal lpData As String,
lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegEnumValue Lib "advapi32.dll" Alias
"RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal
lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long,
lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
If (RegEnumValue(KeyValue, Idx,
sValueName, lValueNameLength, 0&, RegMode, sValue, lValueLength) 0) And (Err.Number 0) Then '// Si on trouve une valeur ...
sValueName = Left$(sValueName, lValueNameLength) '// On en extrait le nom
sValue = ReadRegistry(hKey, section, sValueName) '// et la valeur
ReDim Preserve ValName(Idx) As tValue '// Redimmentionne le tableau
ValName(Idx).Name = sValueName '// Nom de la valeur
ValName(Idx).Type = RegMode '// Le type
ValName(Idx).Value = sValue '// La valeur
Else '// Si on trouve pas de valeur, c que c la fin