Port série ???

Signaler
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Messages postés
99
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
26 juillet 2007
-
Salut,

Existe il un moyen de lister tout les port COM d'un PC ?
API ou autre méthode...

Shell

2 réponses

Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
3
Salut,



Si tu veux lister tous les ports disponibles, tu peux essayer de les ouvrir



for i:=0 to 15 do // COM1 à COM15

begin

ComString := 'COM'+IntToStr(i+1);

FHandle := CreateFile(PChar(ComString), 0, 0, nil, OPEN_EXISTING, 0, 0);

if FHandle <> INVALID_HANDLE_VALUE then // Handle trouvé -> Port existant

begin

// Ajout à la liste des Com disponibles

//

CloseHandle(FHandle); // fermeture du port (sinon on peut plus l'utiliser !)

end;

end;




Si tu veux lister tous les ports existants, tu peux utiliser la fonction QueryDosDevice



Ptr := StrAlloc($256);

n:=$256;

for i:=0 to 15 do // COM1 à COM15

begin

ComString := 'COM'+IntToStr(i+1);

Resu := QueryDosDevice(PChar(ComString),Ptr,n);

if Resu<>0 then

begin

// Ajout à la liste des Com disponibles

//

end;

end;

StrDispose(Ptr);




J'ai pas mieux !


Ken@vo

____________________

Code, Code, Codec !
Messages postés
99
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
26 juillet 2007
2
Salut

Moi, j'utilise les composants Asynch pro 4.06 gratuits et bien foutus.
Ils ont un composant TDeviceSelectionForm qui permet de lister les ports et Tapi devices disponibles.

Roud59