Rechercher...
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
Atelier de Génie Logiciel