FOR n% = 1 TO 20 handle% = OPENUP (... "COM"+STR$(n%) ......) IF handle% <> 0 THEN : Port exists *and* is free for use CLOSE handle% ELSE : Port exists but is in use, *or* port does not exist ENDIF NEXT
|
|
DIM TempBuffer% 255 Key$ = "HARDWARE\DEVICEMAP\SERIALCOMM" SYS "RegOpenKeyEx", &80000002, Key$, 0, &20001, ^K% TO R% IF R% = 0 THEN L% = 255 : SYS "RegQueryValueEx", K%, "String", 0, ^T%, TempBuffer%, ^L% TO R% IF R% = 0 TempBuffer%?(L%-1) = 13 : String$ = $TempBuffer% L% = 4 : SYS "RegQueryValueEx", K%, "Integer", 0, ^T%, ^V%, ^L% TO R% IF R% = 0 Integer% = V% SYS "RegCloseKey", K% ENDIF PRINT "String$=" + String$
|
FOR p% = 1 TO 255 port% = OPENIN("COM" + STR$(p%) + ": 115200,N,8,1") SYS "GetLastError" TO winerr% CASE winerr% OF WHEN 0: PRINT "COM" + STR$(p%) + " Free" CLOSE# port% WHEN 1: PRINT "COM" + STR$(p%) + " In Use" ENDCASE NEXT
|
|