Accueil > FAQ > WinDev API FAQ

Demandé et répondu par Drcharly93 le 03-May-2007 19:00 (5356 Lectures)
Comment lister tous les ports séries
Ce code à été récupéré sur le forum de 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

3 Commentaires Imprimer la Q&R Envoyer la Q&R

Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2