Bonjour,
Je développe actuellement un logiciel avec VB.net WPF, et j'ai un petit souci sur le long terme.
Monté sur un système industriel de charge batterie, onduleur etc.. il y a un contrôleur qui communique avec mon logiciel par un port USB (Virtual port COM)/ Mon problème c'est l'affectation des ports COM dans Windows. Pour un client il n'y a pas de souci, mais pour ceux qui fabrique nos cartes, ils doivent les tester et programmer, mais à chaque nouvelle carte Windows me créer un nouveau port COM, COM2 COM3 COM4 etc...
Dans mon logiciel je suis obligé de créer une nouvelle connexion (pour un client on appelé sa un nouveau équipement) qu'il sauvegarde.
Pour celui qui fabrique les cartes cela fait créer un équipement à chaque fois, ce qui n'est pas très long mais cumulé... et surtout je sais pas comment Windows va gérer cela lorsque l'on va dépasser les 256. (valeur que l'on peux affecter depuis le gestionnaire de périf.)
Actuellement je liste les ports COM présent et leur nom. Je pourrais logiciellement donc savoir quel port inconnu serait à réaffecter sur un port connu (équipement) , je sais pas si je suis clair.
Exemple:
En partant du principe qu'il n'y a pas d'autre port COM (connecté) sur le PC, ce qui est le cas sur le PC de production.
En connectant ma carte, Windows me l'affecte sur le port COM5. Dans mon application j'ai le port COM4 qui est déjà paramétrer. Mais je sais qu'il n'y a pas de port COM4 actuellement et qu'il y a un COM5 que je ne connais pas.
Mon but: depuis mon logiciel, réaffecté le port COM5 en port COM4
Est-ce que c'est possible ? Par une manipulation de la base de registre peut être ?
Je sais faire le nettoyage dans la base de registre pour supprimer toutes les affectations, mais là se serait de la manipulation, comme on le fait depuis le gestionnaire de périf.
Merci
Partager