Как получить доступ к "расшаренным" хардам компов, входящих в общую сеть - VB

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Задача такая: пишется простенькая программа для автоматизированного обмена (VB6) информацией между офисными ПК, входящими в общюю сеть. Казалось-бы все просто, пишем: OPEN "192.168.1.3/имя_папки/" FOR INPUT AS #1 того ПК, к которому надо получить доступ (папка, естественно на том ПК уже "расшарена" для общего доступа). Но, ошибка, - неверно указан путь. Что самое интересное, раньше такая комбинация работала! Может я что-то забыл? В общем, задача простая, - получить доступ к "расшаренным" хардам компов в общей сети (их IP уже известны) через ВБ-шную программу. Помогите, плиззз, кто знает! Заранее спасибо!

Решение задачи: «Как получить доступ к "расшаренным" хардам компов, входящих в общую сеть»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.     Dim NetShare        As String
  5.     Dim file            As String
  6.     Dim sDriveLetter    As String
  7.    
  8.     NetShare = "\\192.168.12.6\общие документы"
  9.     file = "test.txt"
  10.  
  11.     sDriveLetter = MountShare(NetShare)
  12.     If sDriveLetter <> vbNullString Then
  13.         MsgBox ReadFile(sDriveLetter & ":\" & file)
  14.         UnMountShare sDriveLetter
  15.     End If
  16. End Sub
  17.  
  18. ' Монтирует сетевое уст-во. Возвращает букву диска в случае успеха
  19. Function MountShare(Share As String) As String
  20.     Dim FSO, oNetwork, oDrive, sDrvMap, sDriveLetter
  21.  
  22.     sDrvMap = "DEFGHIJKLMNOPQRSTUVWX"   ' поиск свободной буквы диска
  23.    Set FSO = CreateObject("Scripting.FileSystemObject")
  24.     For Each oDrive In FSO.Drives
  25.         sDrvMap = Replace(sDrvMap, oDrive.DriveLetter, "", 1, 1)
  26.     Next
  27.     sDriveLetter = Left(sDrvMap, 1)
  28.  
  29.     If sDriveLetter <> vbNullString Then
  30.         Set oNetwork = CreateObject("Wscript.Network")
  31.         On Error Resume Next
  32.         oNetwork.MapNetworkDrive sDriveLetter & ":", Share
  33.         If Err = 0 Then MountShare = sDriveLetter Else Debug.Print Err & " " & Err.Description
  34.     End If
  35. End Function
  36.  
  37. ' Возвращает ноль в случае успеха
  38. Function UnMountShare(sDriveLetter As String, Optional Force As Boolean) As Long
  39.     Dim oNetwork
  40.    
  41.     Set oNetwork = CreateObject("Wscript.Network")
  42.     On Error Resume Next
  43.     oNetwork.RemoveNetworkDrive sDriveLetter & ":", Force
  44.     UnMountShare = Err.Number
  45. End Function
  46.  
  47. Function ReadFile(file As String) As String
  48.     On Error Resume Next
  49.     Dim ff          As Integer
  50.     Dim FileSize    As Long
  51.    
  52.     ff = FreeFile()
  53.     FileSize = FileLen(file)
  54.     If FileSize Then
  55.         Open file For Binary Access Read As #ff
  56.             ReadFile = Space(FileSize)
  57.             Get #ff, , ReadFile
  58.         Close #ff
  59.     End If
  60. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы