Port série ???

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 25 janv. 2005 à 17:20
roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 - 27 janv. 2005 à 18:20
Salut,

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

Shell

2 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
26 janv. 2005 à 10:24
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 !
0
roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 2
27 janv. 2005 à 18:20
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
0
Rejoignez-nous