Structure RASENTRYNAME95
dwSize.l; As Long
szEntryName.s{#RAS95_MaxEntryName}; As Byte
Dummy.L
EndStructure
Вот так эффективнее будет, и никаких РЕЕКОВ не нужно.
А вообще вот решение твоей проблемы:
Все глабли твои заключались только в одной константе:
#RAS95_MaxEntryName
Ты ставишь 256 байт, а на самом деле максимальная длина пути 260 байт (может меняться) поэтому рекомендую использовать стандартную константу PureBasic #MAX_PATH, которая тебе поможет автоматически применять длинну пути.
Так же немного изменил я твой код, помечено цветом.
Structure RASENTRYNAME95
dwSize.l
szEntryName.s{#MAX_PATH}
EndStructure
Global Dim R.RASENTRYNAME95(255)
Global s.l,l.l,ln.l,a$
R(0)\dwSize = SizeOf(RASENTRYNAME95) ; <<< Зачем тебе считать, когда можно получить размер.
s = 256 * R(0)\dwSize
RasEnumEntries_(#Null, #Null, R(0), s, @ln)
For l = 0 To ln - 1
Debug "Подключение №"+Str(l+1)+" >>> "+R(l)\szEntryName ; Вот тут не работает!
Next
If ln = 0
Debug "No Dial-Up connections found!"
EndIf
Результат работы программы:
Сообщение от Debug Output
Подключение№1 >>> mts
Подключение№2 >>> qwqw
|