public void Close_click(object sender, EventArgs e)
{
Kill(hdl);
}
Cela fonctionne bien.
Maintenant imaginons que je lance une première instance de mon application.
Je fait un Open()
Je lance une second fois mon application.
Je fais un Open() qui me retourne -1, ce qui est normal.
En fait l'idée serait de pouvoir récupérer le handle de l'ojbet qui utilise mon port, pour pouvoir le passer dans le close et donc réutilisé mon Port.
Comme je sais pas habitude que je ne suis pas très clair.
Une application A que je ne contrôle pas, ce lance fait un CretaFile sur le COM6 disons de le handle soit x.
Je lande mon application et j'ai besoin du port COM6 - Si je fais un CreatFile je récupère -1.
Donc voici enfin la question : est ce qu'il y a un param pour le CreateFile ou une autre méthode qui me permettrais de recupérer le variable x ?
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 20081 5 sept. 2007 à 11:07
En fait c'est pour un développement sur PDA.
Mon client souhaite(exige) que le lecteur du code à barres soit piloté par une application fournie avec le PDA.
Le lecteur de code barres utilise un port qui ne peux être changer (COM6)
Ce client a également fait le choix d'un modem RTC qui utilise le même port.
Donc je me retrouve face a un gros problème car lorsque je lance ma demande de connexion, il me dit que le port est utilisé.
Il faut donc que je stop depuis mon application le logiciel qui pilote le lecteur de code à barres.
Je ne connais malheureusent qu'un méthode pour stopper ce logiciel.
les methodes TerminateProcess suivit du CloseHandle de coreDll.
Mais cette technique ne libère pas le port.
la manoeuvre de mon code ?
Je suppose que le logiciel qui pilote le code à barres utilise le CreateFile pour utilisé le port et le CloseHandle lors de sa fermeture. Mais lorsque je kill le process le CloseHandle n'est pas éxécuté.
Comme le CreateFile retourne un Handle. Je me demandais si il n'y avait pas moyen de le récupéré, pour faire un CloseHandle par la suite et donc pouvoir lancé ma connexion RTC.
Si il n'y pas de possibilité de retourvé l'info, je suis prenneur de n'importe quelle solution que ce soit une technique pour stopper l'application en lui précisant de libérer le port, ou bien un moyen de "réinitialiser" le port.
cs_rodcobalt22
Messages postés193Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 février 2016 5 sept. 2007 à 13:15
effectivement, désolé je ne pourrais pas trop t'aider sur ce coup là.
Il n'y a pas un support Web pour le lecteur de code bare ou le modem RTC ? Peut être qu'il aurait une solution ou même encore mieux : une API ? ^^
Je te dis vraiment ça au pif et au cas où.