purebasic.info

PureBasic forum
Текущее время: Пн дек 11, 2017 4:37 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: Ср фев 08, 2017 4:47 pm 
Не в сети
ассистент

Зарегистрирован: Пн фев 24, 2014 1:13 pm
Сообщений: 19
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Пункты репутации: 0
Отображает в окне отладчика ресурсы локальной сети
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 
Procedure.S DisplayStruct(Array lpnrLocal.NETRESOURCE(1),index.i)
Protected description.s
If lpnrLocal(index)\lpRemoteName
description = PeekS(lpnrLocal(index)\lpRemoteName,-1) + ", "
EndIf
description + "NETRESOURCE Scope: "
Select lpnrLocal(index)\dwScope
    Case #RESOURCE_CONNECTED
        description + "connected, "
            Case #RESOURCE_GLOBALNET
        description + "all resources, "
            Case #RESOURCE_REMEMBERED
        description + "remembered, "
            Default:
        description + "unknown scope " + Str(lpnrLocal(index)\dwScope) + ", "
        EndSelect
description + "resource type:"
Select lpnrLocal(index)\dwType
    Case #RESOURCETYPE_ANY
        description + "any, "
            Case #RESOURCETYPE_DISK
        description + "disk, "
            Case #RESOURCETYPE_PRINT
        description + "print, "
            Default
        description + "unknown type " + Str(lpnrLocal(index)\dwType) + ", "
    EndSelect    
        description + "NETRESOURCE DisplayType: "
    Select lpnrLocal(index)\dwDisplayType
    Case #RESOURCEDISPLAYTYPE_GENERIC
        description + "generic, "
            Case #RESOURCEDISPLAYTYPE_DOMAIN
        description + "domain, "
            Case #RESOURCEDISPLAYTYPE_SERVER
        description + "server, "
            Case #RESOURCEDISPLAYTYPE_SHARE
        description + "share, "
    Case #RESOURCEDISPLAYTYPE_FILE
        description + "file, "
            Case #RESOURCEDISPLAYTYPE_GROUP
        description + "group, "
            Default
        description + "unknown display type, "
        EndSelect
 
    description + "NETRESOURCE Usage: = " + Str(lpnrLocal(index)\dwUsage) + ", "
    If lpnrLocal(index)\dwUsage & #RESOURCEUSAGE_CONNECTABLE
        description + "connectable, "
EndIf    
If lpnrLocal(index)\dwUsage & #RESOURCEUSAGE_CONTAINER
        description + "container, "
EndIf
    If lpnrLocal(index)\lpLocalName
    description + "NETRESOURCE Localname: "+ PeekS(lpnrLocal(index)\lpLocalName,-1) + ", "
EndIf    
If lpnrLocal(index)\lpRemoteName
description + "NETRESOURCE Remotename: "+PeekS  (lpnrLocal(index)\lpRemoteName,-1) + ", "
EndIf    
If lpnrLocal(index)\lpComment
description + "NETRESOURCE Comment: " + PeekS(lpnrLocal(index)\lpComment,-1) + ", "
EndIf    
If lpnrLocal(index)\lpProvider
description + "NETRESOURCE Provider: "+ PeekS(lpnrLocal(index)\lpProvider) + "."
EndIf
ProcedureReturn description
EndProcedure
 
Procedure GetListNet(*lpNet1.NETRESOURCE)
#MAX_NET_RESOURCES = 1024
Protected hEnum.i
Protected dwSize.l = (SizeOf(NETRESOURCE) * #MAX_NET_RESOURCES)
Protected cnt.l = -1
Protected dwResult.l
 
dwResult = WNetOpenEnum_(#RESOURCE_GLOBALNET, #RESOURCETYPE_ANY, #Null, *lpNet1, @hEnum)
If(dwResult = #NO_ERROR)
Dim lpnrLocal.NETRESOURCE(SizeOf(NETRESOURCE) * #MAX_NET_RESOURCES-1)
Repeat
dwResult = WNetEnumResource_(hEnum, @cnt, @lpnrLocal(), @dwSize)
 
If(dwResult = #NO_ERROR)
For count.i = 0 To cnt-1
Debug DisplayStruct(lpnrLocal(),count)
If(#RESOURCEUSAGE_CONTAINER = (lpnrLocal(count)\dwUsage & #RESOURCEUSAGE_CONTAINER))
If (GetListNet(@lpnrLocal(count))) = 0
Debug "GetListNet return FALSE;"
EndIf
EndIf
Next
Else
ProcedureReturn #False
EndIf
Until(dwResult = #ERROR_NO_MORE_ITEMS)
FreeArray(lpnrLocal())
If(WNetCloseEnum_(hEnum) <> NO_ERROR)
ProcedureReturn #False
EndIf
Else
ProcedureReturn #False;
EndIf
ProcedureReturn #True;
EndProcedure
 
*lpRun.NETRESOURCE = #Null
GetListNet(*lpRun)
 



Вложения:
GetListNet.pb [3.49 KiB]
Скачиваний: 30
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB