• Comment faire pour...

    Les réponses aux questions fréquement posées.

    FAQ

  • 1

Comment lister tous les ports séries

Code issu du forum PCSoft.
PROCEDURE enumPortCOM()

port2 est composé de
	pPortName 		est un entier
	pMonitorName 	est un entier
	pDescription 	est un entier
	fPortType 		est un entier
	Reserved 		est un entier
FIN

cbBuff 				est un entier
pbNeeded 			est un entier
pcReturned 			est un entier
szListePortCOM 		est une chaîne

AppelDLL32("winspool.drv","EnumPortsA",Null,2,Null,cbBuff,&pbNeeded,&pcReturned)

hmem est un entier = AppelDLL32("kernel32","GlobalAlloc",0x40,pbNeeded)

cbBuff = pbNeeded

AppelDLL32("winspool.drv","EnumPortsA",Null,2,hmem,cbBuff,&pbNeeded,&pcReturned)

ind est un entier
port est une chaîne ASCIIZ sur 64
ch est une chaîne

adr est un entier = hmem

POUR ind = 1 A pcReturned
	AppelDLL32("kernel32","RtlMoveMemory",&port2,adr,20)
	AppelDLL32("kernel32","RtlZeroMemory",&port,64)
	AppelDLL32("kernel32","RtlMoveMemory",&port,port2.pPortName,64)
	ch = port

	//	AppelDLL32("kernel32","RtlZeroMemory",&port,64)
	//	AppelDLL32("kernel32","RtlMoveMemory",&port,port2.pMonitorName,64)
	//	ch += port + " - "
	//
	//	AppelDLL32("kernel32","RtlZeroMemory",&port,64)
	//	AppelDLL32("kernel32","RtlMoveMemory",&port,port2.pDescription,64)
	//	ch += port + " - "
	SI ch[[A 3]] = "COM" ALORS
		szListePortCOM += Gauche(ch,4) + RC
	FIN

	adr += 20
FIN
AppelDLL32("kernel32","GlobalFree",hmem)

RENVOYER szListePortCOM

Participez à nos FAQs

Proposez vos questions réponses...

Nos FAQs comportent les réponses aux questions fréquemment posées : 'Comment je fais...' et 'Le saviez-vous...'.
Vous pouvez participer en spécifiant la question et la réponse à publier dans le formulaire.

 Bientôt un nouveau formulaire

image image