Как получить доступ к "расшаренным" хардам компов, входящих в общую сеть - VB
Формулировка задачи:
Доброго времени суток! Задача такая: пишется простенькая программа для автоматизированного обмена (VB6) информацией между офисными ПК, входящими в общюю сеть. Казалось-бы все просто, пишем: OPEN "192.168.1.3/имя_папки/" FOR INPUT AS #1 того ПК, к которому надо получить доступ (папка, естественно на том ПК уже "расшарена" для общего доступа). Но, ошибка, - неверно указан путь. Что самое интересное, раньше такая комбинация работала! Может я что-то забыл? В общем, задача простая, - получить доступ к "расшаренным" хардам компов в общей сети (их IP уже известны) через ВБ-шную программу. Помогите, плиззз, кто знает! Заранее спасибо!
Решение задачи: «Как получить доступ к "расшаренным" хардам компов, входящих в общую сеть»
textual
Листинг программы
- Option Explicit
- Private Sub Form_Load()
- Dim NetShare As String
- Dim file As String
- Dim sDriveLetter As String
- NetShare = "\\192.168.12.6\общие документы"
- file = "test.txt"
- sDriveLetter = MountShare(NetShare)
- If sDriveLetter <> vbNullString Then
- MsgBox ReadFile(sDriveLetter & ":\" & file)
- UnMountShare sDriveLetter
- End If
- End Sub
- ' Монтирует сетевое уст-во. Возвращает букву диска в случае успеха
- Function MountShare(Share As String) As String
- Dim FSO, oNetwork, oDrive, sDrvMap, sDriveLetter
- sDrvMap = "DEFGHIJKLMNOPQRSTUVWX" ' поиск свободной буквы диска
- Set FSO = CreateObject("Scripting.FileSystemObject")
- For Each oDrive In FSO.Drives
- sDrvMap = Replace(sDrvMap, oDrive.DriveLetter, "", 1, 1)
- Next
- sDriveLetter = Left(sDrvMap, 1)
- If sDriveLetter <> vbNullString Then
- Set oNetwork = CreateObject("Wscript.Network")
- On Error Resume Next
- oNetwork.MapNetworkDrive sDriveLetter & ":", Share
- If Err = 0 Then MountShare = sDriveLetter Else Debug.Print Err & " " & Err.Description
- End If
- End Function
- ' Возвращает ноль в случае успеха
- Function UnMountShare(sDriveLetter As String, Optional Force As Boolean) As Long
- Dim oNetwork
- Set oNetwork = CreateObject("Wscript.Network")
- On Error Resume Next
- oNetwork.RemoveNetworkDrive sDriveLetter & ":", Force
- UnMountShare = Err.Number
- End Function
- Function ReadFile(file As String) As String
- On Error Resume Next
- Dim ff As Integer
- Dim FileSize As Long
- ff = FreeFile()
- FileSize = FileLen(file)
- If FileSize Then
- Open file For Binary Access Read As #ff
- ReadFile = Space(FileSize)
- Get #ff, , ReadFile
- Close #ff
- End If
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д