Salut à tous ,
Je viens vous exposer mon problème...
Je souhaite récupérer les port COM disponible via le registre.
Donc j'ai fait un petit bout de code :
EDIT : modification du code :
et cela me retourne :
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 HKEY key; RegOpenKeyEx(HKEY_LOCAL_MACHINE,"HARDWARE\\DEVICEMAP\\SERIALCOMM",0,KEY_ALL_ACCESS,&key); //définition des variables local unsigned long NNom=25,NVal=25; char *Valeur=new char[25],*NomVal=new char[25]; int Ret,i=0; //parcourt la partie concernee de la base de registre do { //ouverture d'une clé NNom=25; NVal=25; Ret=RegEnumValue(key,i,NomVal,&NNom,0,0,Valeur,&NVal); //si pas d'erreur if (Ret != ERROR_NO_MORE_ITEMS) { printf("%s %s\n",Valeur,NomVal); // affichage } i++; } while (Ret != ERROR_NO_MORE_ITEMS); //fermeture de la base de registre RegCloseKey(key);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 COM6 \Device\porte6 COM7 \Device\porte7 COM10 \Device\porte10 COM11 \Device\porte11 COM12 \Device\porte12 COM13 \Device\porte13 COM14 \Device\porte14 COM20 \Device\porte20 COM21 \Device\porte21 COM22 \Device\porte22 COM3 Winachsf0 COM3 Winachsf0 COM3 Winachsf0
alors que cela devrais m'afficher quelque chose dans le genre :
Donc mon probleme est que la fonction ne me retourne pas les port virtuelle.. Ceux créés par mon port USB!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 COM1\Device\MosChipQuadSerial0 COM2 \Device\MosChipQuadSerial1 COM6 \Device\porte6 COM7 \Device\porte7 COM10 \Device\porte10 COM11 \Device\porte11 COM12 \Device\porte12 COM13 \Device\porte13 COM14 \Device\porte14 COM20 \Device\porte20 COM21 \Device\porte21 COM22 \Device\porte22 COM3 Winachsf0
Si quelqu'un connait la solution pour voir les PORT COM virtuelle qui pourtant sont affiché dans le registre ! merci
Merci d'avance aux personnes qui regarderons![]()
Partager