Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Имя дисков в сети. Добавлено: 18.01.09 13:58  

Автор вопроса:  Aston | ICQ: 214-179-991 
Привет всем.
Тут возник непредвиденноя проблема у меня. Есть компьютеры в сети, при открытии определённых дисков для сети, им могут присваиваться сетевые имена. Можно ли как то узнать имена этих дисков в сети. И какое имя каждый открытый диск данного компьютера имеет в сети?

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 18.01.09 17:40
Можно, но как именно не скажу пока за комп не сяду.
Не помню.

Ответить

Номер ответа: 2
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #2 Добавлено: 18.01.09 18:10
Вот ты ответил). Напиши плизз буду ждать :) И ещё вопрос а ты ответ не с компа писал? :)

Ответить

Номер ответа: 3
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #3 Добавлено: 18.01.09 18:37
На эт вопрос могу ответить.
Не с компа.
Я в гостях, не таскать же комп с собой )
Непоймут. )

Ответить

Номер ответа: 4
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #4 Добавлено: 19.01.09 20:39
Смит жду ответа твоего :), неужели ты ещё домой не попал?

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 20.01.09 21:49
Попал естессно, тока про тему эту подзабыл.

Короче плясать надо вокруг API NetConnectionEnum, хотя тот пример, что у меня, работать не захотел.

в принципе можно парсить ответ команды net share, но это неприлично :)

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 20.01.09 22:00
Вот те рабочий примерчик, просто скопируй и вставь в новый проект, на форму брось пару лэбэлов, листбокс и батон

  1. Option Explicit
  2. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  3. ' Copyright ©1996-2009 VBnet, Randy Birch, All Rights Reserved.
  4. ' Some pages may also contain other copyrights by the author.
  5. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  6. ' Distribution: You can freely use this code in your own
  7. '               applications, but you may not reproduce
  8. '               or publish this code on any web site,
  9. '               online service, or distribute as source
  10. '               on any media without express permission.
  11. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  12. 'Windows type used to call the Net API
  13. Private Const MAX_PREFERRED_LENGTH As Long = -1
  14. Private Const NERR_SUCCESS As Long = 0&
  15. Private Const ERROR_MORE_DATA As Long = 234&
  16. Private Const LB_SETTABSTOPS As Long = &H192
  17.  
  18. 'See NetServerEnum demo for complete
  19. 'list of server types supported
  20. Private Const SV_TYPE_ALL As Long = &HFFFFFFFF
  21. Private Const SV_TYPE_WORKSTATION As Long = &H1
  22. Private Const SV_TYPE_SERVER As Long = &H2
  23.  
  24. Private Const STYPE_ALL As Long = -1  'note: my const
  25. Private Const STYPE_DISKTREE As Long = 0
  26. Private Const STYPE_PRINTQ As Long = 1
  27. Private Const STYPE_DEVICE As Long = 2
  28. Private Const STYPE_IPC As Long = 3
  29. Private Const STYPE_SPECIAL As Long = &H80000000
  30. Private Const ACCESS_READ  As Long = &H1
  31. Private Const ACCESS_WRITE As Long = &H2
  32. Private Const ACCESS_CREATE As Long = &H4
  33. Private Const ACCESS_EXEC As Long = &H8
  34. Private Const ACCESS_DELETE As Long = &H10
  35. Private Const ACCESS_ATRIB As Long = &H20
  36. Private Const ACCESS_PERM As Long = &H40
  37. Private Const ACCESS_ALL As Long = ACCESS_READ Or _
  38.                                    ACCESS_WRITE Or _
  39.                                    ACCESS_CREATE Or _
  40.                                    ACCESS_EXEC Or _
  41.                                    ACCESS_DELETE Or _
  42.                                    ACCESS_ATRIB Or _
  43.                                    ACCESS_PERM
  44. 'for use on Win NT/2000 only
  45. Private Type SERVER_INFO_100
  46.   sv100_platform_id As Long
  47.   sv100_name As Long
  48. End Type
  49.  
  50. 'shi2_current_uses: number of current connections to the resource
  51. 'shi2_max_uses    : max concurrent connections resource can accommodate
  52. 'shi2_netname     : share name of a resource
  53. 'shi2_passwd      : share's password when
  54. '                  (server running with share-level security)
  55. 'shi2_path        : local path for the shared resource
  56. 'shi2_permissions : shared resource's permissions
  57. '                  (servers running with share-level security)
  58. 'shi2_remark      : string containing optional comment about the resource
  59. 'shi2_type        : the type of the shared resource
  60. Private Type SHARE_INFO_2
  61.   shi2_netname As Long
  62.   shi2_type As Long
  63.   shi2_remark As Long
  64.   shi2_permissions As Long
  65.   shi2_max_uses As Long
  66.   shi2_current_uses As Long
  67.   shi2_path As Long
  68.   shi2_passwd As Long
  69. End Type
  70.  
  71. Private Declare Function NetServerEnum Lib "netapi32" _
  72.   (ByVal servername As Long, _
  73.    ByVal level As Long, _
  74.    buf As Any, _
  75.    ByVal prefmaxlen As Long, _
  76.    entriesread As Long, _
  77.    totalentries As Long, _
  78.    ByVal servertype As Long, _
  79.    ByVal domain As Long, _
  80.    resume_handle As Long) As Long
  81.  
  82. Private Declare Function NetShareEnum Lib "netapi32" _
  83.   (ByVal servername As Long, _
  84.    ByVal level As Long, _
  85.    bufptr As Long, _
  86.    ByVal prefmaxlen As Long, _
  87.    entriesread As Long, _
  88.    totalentries As Long, _
  89.    resume_handle As Long) As Long
  90.    
  91. Private Declare Function NetApiBufferFree Lib "netapi32" _
  92.    (ByVal Buffer As Long) As Long
  93.      
  94. Private Declare Sub CopyMemory Lib "kernel32" _
  95.    Alias "RtlMoveMemory" _
  96.   (pTo As Any, uFrom As Any, _
  97.    ByVal lSize As Long)
  98.    
  99. Private Declare Function lstrlenW Lib "kernel32" _
  100.   (ByVal lpString As Long) As Long
  101.  
  102. Private Declare Function SendMessage Lib "user32" _
  103.    Alias "SendMessageA" _
  104.   (ByVal hwnd As Long, _
  105.    ByVal wMsg As Long, _
  106.    ByVal wParam As Long, _
  107.    lParam As Any) As Long
  108.  
  109.  
  110. Private Sub Form_Load()
  111.  
  112.    ReDim TabArray(0 To 4) As Long
  113.    
  114.    TabArray(0) = 73
  115.    TabArray(1) = 125
  116.    TabArray(2) = 151
  117.    TabArray(3) = 232
  118.    
  119.   'Clear any existing tabs
  120.   'and set the list tabstops
  121.    Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
  122.    Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 4&, TabArray(0))
  123.    List1.Refresh
  124.    
  125.    Command1.Caption = "Net Share Enum"
  126.    Label1.Caption = "call success (0) or error :"
  127.    Label2.Caption = ""
  128.  
  129. End Sub
  130.  
  131.  
  132. Private Sub Command1_Click()
  133.  
  134.    Dim bufptr          As Long  'output
  135.    Dim dwServer        As Long  'pointer to the server
  136.    Dim dwEntriesread   As Long  'out
  137.    Dim dwTotalentries  As Long  'out
  138.    Dim dwResumehandle  As Long  'out
  139.    Dim success         As Long
  140.    Dim nStructSize     As Long
  141.    Dim cnt             As Long
  142.    Dim usrname         As String
  143.    Dim bServer         As String
  144.    Dim shi2            As SHARE_INFO_2
  145.      
  146.   'demo using the local machine
  147.    bServer = "\\" & Environ$("COMPUTERNAME") & vbNullString
  148.    
  149.   'create pointer to the machine name
  150.    dwServer = StrPtr(bServer)
  151.    
  152.    success = NetShareEnum(dwServer, _
  153.                           2, _
  154.                           bufptr, _
  155.                           MAX_PREFERRED_LENGTH, _
  156.                           dwEntriesread, _
  157.                           dwTotalentries, _
  158.                           dwResumehandle)
  159.  
  160.    List1.Clear
  161.    Label2.Caption = success
  162.    
  163.    If success = NERR_SUCCESS And _
  164.       success <> ERROR_MORE_DATA Then
  165.       
  166.       nStructSize = LenB(shi2)
  167.       
  168.       For cnt = 0 To dwEntriesread - 1
  169.          
  170.         'get one chunk of data and cast
  171.         'into an SHARE_INFO_2 type, and
  172.         'add the data to a list
  173.          CopyMemory shi2, ByVal bufptr + (nStructSize * cnt), nStructSize
  174.  
  175.          List1.AddItem GetPointerToByteStringW(shi2.shi2_netname) & vbTab & _
  176.                        GetConnectionType(shi2.shi2_type) & vbTab & _
  177.                        GetConnectionPermissions(shi2.shi2_permissions) & vbTab & _
  178.                        GetPointerToByteStringW(shi2.shi2_remark) & vbTab & _
  179.                        GetPointerToByteStringW(shi2.shi2_path)  ' & vbTab & _
  180.  
  181.       Next
  182.       
  183.    End If
  184.    
  185.    Call NetApiBufferFree(bufptr)
  186.  
  187. End Sub
  188.  
  189.  
  190. Private Function GetConnectionPermissions(ByVal dwPermissions As Long) As String
  191.  
  192.   'Permissions are only returned a shared
  193.   'resource running with share-level security.
  194.   'A server running user-level security ignores
  195.   'this member, so the function returns
  196.   '"not applicable".
  197.    Dim tmp As String
  198.    
  199.    If (dwPermissions And ACCESS_READ) Then tmp = tmp & "R"
  200.    If (dwPermissions And ACCESS_WRITE) Then tmp = tmp & " W"
  201.    If (dwPermissions And ACCESS_CREATE) Then tmp = tmp & " C"
  202.    If (dwPermissions And ACCESS_DELETE) Then tmp = tmp & " D"
  203.    If (dwPermissions And ACCESS_EXEC) Then tmp = tmp & " E"
  204.    If (dwPermissions And ACCESS_ATRIB) Then tmp = tmp & " A"
  205.    If (dwPermissions And ACCESS_PERM) Then tmp = tmp & " P"
  206.  
  207.    If Len(tmp) = 0 Then tmp = "n/a"
  208.   
  209.    GetConnectionPermissions = tmp
  210.    
  211.    
  212. End Function
  213.  
  214.  
  215. Private Function GetConnectionType(ByVal dwConnectType As Long) As String
  216.  
  217.   'compare connection type value
  218.    Select Case dwConnectType
  219.       Case STYPE_DISKTREE: GetConnectionType = "disk drive"
  220.       Case STYPE_PRINTQ:   GetConnectionType = "print queue"
  221.       Case STYPE_DEVICE:   GetConnectionType = "communication device"
  222.       Case STYPE_IPC:      GetConnectionType = "ipc"
  223.       Case STYPE_SPECIAL:  GetConnectionType = "administrative"
  224.       Case Else
  225.          
  226.         'weird case. On my NT2000 machines,
  227.         'I have to do this to identify the
  228.         'IPC$ share type
  229.          Select Case (dwConnectType Xor STYPE_SPECIAL) 'rtns 3 if IPC
  230.             Case STYPE_IPC: GetConnectionType = "ipc"
  231.             Case Else:      GetConnectionType = "undefined"
  232.          End Select
  233.          
  234.    End Select
  235.    
  236. End Function
  237.  
  238.  
  239. Public Function GetPointerToByteStringW(ByVal dwData As Long) As String
  240.   
  241.    Dim tmp() As Byte
  242.    Dim tmplen As Long
  243.    
  244.    If dwData <> 0 Then
  245.    
  246.       tmplen = lstrlenW(dwData) * 2
  247.       
  248.       If tmplen <> 0 Then
  249.       
  250.          ReDim tmp(0 To (tmplen - 1)) As Byte
  251.          CopyMemory tmp(0), ByVal dwData, tmplen
  252.          GetPointerToByteStringW = tmp
  253.          
  254.      End If
  255.      
  256.    End If
  257.     
  258. End Function


Взято отсюда
http://vbnet.mvps.org/index.html?code/network/netconnectionenum.htm

Ответить

Номер ответа: 7
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #7 Добавлено: 21.01.09 00:51
Спасиб - буду разбираться на досуге)

Ответить

Номер ответа: 8
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #8 Добавлено: 21.01.09 15:12
Смит - ссылка - классная. :) Тот апи то что ты мне указал не решает той проблемы что мне надо.
Она показывает кто обратился к дискам на твоём компе, указывает их имена (если это твой комп, то указывает АПИ адрес, если чужой то прописывает его сетевое имя.), сколько файлов открыто, тип соединения и тд.
А мне надо получить имя диска(например Д) - диск моего компьютера. А для компа в сети диск этот может называтся не Д, а Д_олд(мне надо узнать вот это "Д_олд".
Пока ищю апи то, что мне поможет на той ссылке что ты дал ( но в английском я не силён).

Ответить

Номер ответа: 9
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #9 Добавлено: 21.01.09 18:16
Искал АПИ для определенияимени диска в сети так и не нащёд :( искал в в категории GET

Ответить

Номер ответа: 10
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #10 Добавлено: 22.01.09 22:12
Переработал твой кодик в Net Share Enum.
с 2 лэбэлами, кнопкой и списком
Если сможеш то подскажи можно ли как то указать диск и чтоб это АПИ выдало мне имя Shar или это АПИ всегда выбивает весь список и с него просто надо выбирать то что надо?
  1. Option Explicit
  2.  
  3. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  4. ' Copyright ©1996-2009 VBnet, Randy Birch, All Rights Reserved.
  5. ' Some pages may also contain other copyrights by the author.
  6. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  7. ' Distribution: You can freely use this code in your own
  8. '               applications, but you may not reproduce
  9. '               or publish this code on any web site,
  10. '               online service, or distribute as source
  11. '               on any media without express permission.
  12. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  13.  
  14. 'Windows type used to call the Net API
  15. Private Const MAX_PREFERRED_LENGTH As Long = -1
  16. Private Const NERR_SUCCESS As Long = 0&
  17. Private Const ERROR_MORE_DATA As Long = 234&
  18. Private Const LB_SETTABSTOPS As Long = &H192
  19.  
  20. 'See NetServerEnum demo for complete
  21. 'list of server types supported
  22. Private Const SV_TYPE_ALL As Long = &HFFFFFFFF
  23. Private Const SV_TYPE_WORKSTATION As Long = &H1
  24. Private Const SV_TYPE_SERVER As Long = &H2
  25.  
  26. Private Const STYPE_ALL As Long = -1  'note: my const
  27. Private Const STYPE_DISKTREE As Long = 0
  28. Private Const STYPE_PRINTQ As Long = 1
  29. Private Const STYPE_DEVICE As Long = 2
  30. Private Const STYPE_IPC As Long = 3
  31. Private Const STYPE_SPECIAL As Long = &H80000000
  32. Private Const ACCESS_READ  As Long = &H1
  33. Private Const ACCESS_WRITE As Long = &H2
  34. Private Const ACCESS_CREATE As Long = &H4
  35. Private Const ACCESS_EXEC As Long = &H8
  36. Private Const ACCESS_DELETE As Long = &H10
  37. Private Const ACCESS_ATRIB As Long = &H20
  38. Private Const ACCESS_PERM As Long = &H40
  39. Private Const ACCESS_ALL As Long = ACCESS_READ Or ACCESS_WRITE Or ACCESS_CREATE Or ACCESS_EXEC Or ACCESS_DELETE Or ACCESS_ATRIB Or ACCESS_PERM
  40. 'for use on Win NT/2000 only
  41. Private Type SERVER_INFO_100
  42.   sv100_platform_id As Long
  43.   sv100_name As Long
  44. End Type
  45.  
  46. 'shi2_current_uses: number of current connections to the resource
  47. 'shi2_max_uses    : max concurrent connections resource can accommodate
  48. 'shi2_netname     : share name of a resource
  49. 'shi2_passwd      : share's password when
  50. '                  (server running with share-level security)
  51. 'shi2_path        : local path for the shared resource
  52. 'shi2_permissions : shared resource's permissions
  53. '                  (servers running with share-level security)
  54. 'shi2_remark      : string containing optional comment about the resource
  55. 'shi2_type        : the type of the shared resource
  56. Private Type SHARE_INFO_2
  57.   shi2_netname As Long
  58.   shi2_type As Long
  59.   shi2_remark As Long
  60.   shi2_permissions As Long
  61.   shi2_max_uses As Long
  62.   shi2_current_uses As Long
  63.   shi2_path As Long
  64.   shi2_passwd As Long
  65. End Type
  66.  
  67. Private Declare Function NetShareEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, bufptr As Long, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
  68.    
  69. Private Declare Function NetApiBufferFree Lib "netapi32" (ByVal Buffer As Long) As Long
  70.      
  71. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)
  72.    
  73. Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
  74.  
  75.  
  76.  
  77.  
  78. Private Sub Form_Load()
  79.  
  80.    Command1.Caption = "Net Share Enum"
  81.    Label1.Caption = "call success (0) or error :"
  82.    Label2.Caption = ""
  83.  
  84. End Sub
  85.  
  86.  
  87. Private Sub Command1_Click()
  88.  
  89.    Dim bufptr          As Long  'output
  90.    Dim dwServer        As Long  'pointer to the server
  91.    Dim dwEntriesread   As Long  'out
  92.    Dim dwTotalentries  As Long  'out
  93.    Dim dwResumehandle  As Long  'out
  94.    Dim success         As Long
  95.    Dim nStructSize     As Long
  96.    Dim cnt             As Long
  97.    Dim usrname         As String
  98.    Dim bServer         As String
  99.    Dim shi2            As SHARE_INFO_2
  100.      
  101.   'demo using the local machine
  102.    bServer = "\\" & Environ$("COMPUTERNAME") & vbNullString
  103.    
  104.   'create pointer to the machine name
  105.    dwServer = StrPtr(bServer)
  106.    
  107.    success = NetShareEnum(dwServer, 2, bufptr, MAX_PREFERRED_LENGTH, dwEntriesread, dwTotalentries, dwResumehandle)
  108.  
  109.    List1.Clear
  110.    Label2.Caption = success
  111.    
  112.    If success = NERR_SUCCESS And success <> ERROR_MORE_DATA Then
  113.       
  114.       nStructSize = LenB(shi2)
  115.       
  116.       For cnt = 0 To dwEntriesread - 1
  117.          
  118.         'get one chunk of data and cast
  119.         'into an SHARE_INFO_2 type, and
  120.         'add the data to a list
  121.          CopyMemory shi2, ByVal bufptr + (nStructSize * cnt), nStructSize
  122.  
  123.          List1.AddItem GetPointerToByteStringW(shi2.shi2_netname) & vbTab & GetPointerToByteStringW(shi2.shi2_path)     ' & vbTab & _
  124.  
  125.       Next
  126.       
  127.    End If
  128.    
  129.    Call NetApiBufferFree(bufptr)
  130.  
  131. End Sub
  132.  
  133.  
  134. Public Function GetPointerToByteStringW(ByVal dwData As Long) As String
  135.   
  136.    Dim tmp() As Byte
  137.    Dim tmplen As Long
  138.    
  139.    If dwData <> 0 Then
  140.    
  141.       tmplen = lstrlenW(dwData) * 2
  142.       
  143.       If tmplen <> 0 Then
  144.       
  145.          ReDim tmp(0 To (tmplen - 1)) As Byte
  146.          CopyMemory tmp(0), ByVal dwData, tmplen
  147.          GetPointerToByteStringW = tmp
  148.     
  149.      End If
  150.      
  151.    End If
  152.     
  153. End Function
  154.  

Ответить

Номер ответа: 11
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #11 Добавлено: 24.01.09 19:53
В FSO объект Drive имеет свойство ShareName. Это его сетевое имя если он расшарен естессно.

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 24.01.09 20:04
Если только диски интересуют, то вот, примерно то, что нужно:

  1. Dim FSO As Object, Drives As Object, Drive As Object
  2.  
  3. 'берем FSO
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5.  
  6. 'получаем объект Drives
  7. Set Drives = FSO.Drives
  8. 'перебираем устройства
  9. For Each Drive in Drives
  10. 'добавляем в наш список сетевые имена
  11.      If Len(Drive.ShareName) Then List1.AddItem Drive.ShareName
  12. Next


Изучай, мучайся на здоровье :)

Ответить

Номер ответа: 13
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #13 Добавлено: 25.01.09 01:28
) Спасиб, попутно вопрос. Я так понял если диск не расшарен, то оно и не добавит диск, правильно?. И ещё можно ли как то с помощью этого FSO узнать сразу имя диска и его сетевое имя если он расшарен, имя диска просто тоже надо. Ну а расшарен он или нет, можно проверять добавляет он или нет, если пусто значит не расшарен.

Ответить

Номер ответа: 14
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #14 Добавлено: 25.01.09 01:33
И ещё не пойму. Это вроде обьек и после точки, должны вылазить его свойства, а у меня чё то не появились, это баг или я что то путаю?

Ответить

Номер ответа: 15
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #15 Добавлено: 25.01.09 12:37
Как имя диска добавлять и имя сетевое, если диск расшарен я понял.
  1. Dim FSO As Object, Drives As Object, Drive As Object
  2.  
  3. Private Sub Command1_Click()
  4.  
  5. Set FSO = CreateObject("Scripting.FileSystemObject")
  6.  
  7. Set Drives = FSO.Drives
  8.  
  9. For Each Drive In Drives
  10.      List1.AddItem Drive & vbtzb & Drive.ShareName
  11. Next
  12. Set FSO = Nothing
  13. End Sub

Но можно ли как то тут выбрать определённый диск и чтобы оно выдало мне сетевое имя, если оно есть, я не нашёл как.
Пытался
Drive = ";D:"
не катит)
Это конешно спасает моё положение, но хотелось бы получше разобраться и с одним димком вообще мароки у меня не будет.
А на счёт того АПИ NetShareEnum я смотрел, тоже привёл к тому что возврашает диски в список и ShareName, но там есть одно но. Если диск не расшарен, пишет просто название диска без двоеточия и не определить расшарин он или нет. А на счёт того как в той АПИ сделать так, чтоб возврашало по определённому диску, я чуть посмотрел, но потом бросил это дкло, так как моих знаний в АПИ для этого мало и оно там по дискам возврашает числовые значения, которые потом переводят в слова и там столько всякого, что я этим гиблым делом даже не занимался.
Этот твой пример с FSO по проще, хотя я первый раз с этим сталкиваюсь, но тут хоть понятно что ты делаешь и всё наглядно и просто. Единственное что не понял можно ли как по определённому диску узнавать)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам