Локальная сеть, общие папки

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Локальная сеть, общие папки

Сообщение v-adix » 30.11.2004 (Вт) 20:50

привет!
как программно определить, на каких компьютерах локальной сети есть общие (shared) папки или диски, и какие именно? и как получить доступ к этим общим папкам?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 30.11.2004 (Вт) 21:19

Это в двух словах не расскажкешь. Как узнать, какие папки есть на собственном компе?
Нужно сделать обзор папок, которые организованы иерархически. Тоже самое и для локалки, только для этого свои функции
применяются:

Public Declare Function WNetOpenEnum Lib "mpr.dll" Alias "WNetOpenEnumA" _
(ByVal dwScope As Long, ByVal dwType As Long, ByVal dwUsage As Long, _
lpNetResource As NETRESOURCE, lphEnum As Long) As Long

' We need a separate declaration for the null case
Public Declare Function WNetOpenEnumRoot Lib "mpr.dll" Alias "WNetOpenEnumA" _
(ByVal dwScope As Long, ByVal dwType As Long, _
ByVal dwUsage As Long, ByVal lpNetResource As Long, lphEnum As Long) As Long

Public Declare Function WNetEnumResource Lib "mpr.dll" Alias "WNetEnumResourceA" _
(ByVal hEnum As Long, lpcCount As Long, _
lpBuffer As NETRESOURCELONG, lpBufferSize As Long) As Long
Public Declare Function intWNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETRESOURCE, ByVal lpPassWord As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
Public Declare Function intWNetAddConnection3 Lib "mpr.dll" Alias "WNetAddConnection3A" (ByVal hwnd As Long, lpNetResource As NETRESOURCE, ByVal lpPassWord As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
Public Declare Function intWNetUseConnection Lib "mpr.dll" Alias "WNetUseConnectionA" (ByVal hwnd As Long, lpNetResource As NETRESOURCE, ByVal lpPassWord As String, ByVal lpUserID As String, ByVal dwFlags As Long, ByVal lpAccessName As String, lpBufferSize As Long, lpResult As Long) As Long

Public Declare Function WNetCloseEnum Lib "mpr.dll" (ByVal hEnum As Long) As Long


После этого нужно к ресурсу подключиться ( а можно и сразу подключаться, если знаешь путь):

Public Declare Function WNetAddConnection Lib "mpr.dll" _
Alias "WNetAddConnectionA" _
(ByVal lpszNetPath As String, _
ByVal lpszPassword As String, _
ByVal lpszLocalName As String) As Long
Public Declare Function WNetCancelConnection Lib "mpr.dll" _
Alias "WNetCancelConnectionA" _
(ByVal lpszName As String, _
ByVal bForce As Long) As Long


В ряде случаев потребуется вводить имя и пароль для подключения к общим ресурсам.
Под рукой готового примера нет, но может быть, это будет стартом для поиска материала


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 18

    TopList