Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Сетевое окружение в VB Добавлено: 08.07.09 09:20  

Автор вопроса:  Svsit
Как програмно получить список компьютеров в собственной рабочей группе? Нужно ограничиться только своей рабочей группой. Доменные имена или IP неважно. Заранее спасибо.

Ответить

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

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



ICQ: 175617069 

Вопросов: 4
Ответов: 24
 Профиль | | #1 Добавлено: 08.07.09 10:26
Для себя я использовал код где-то нарытый в своё время:
  1. #include "stdafx.h"
  2. #include <windows.h>
  3. #include <winnetwk.h>
  4.  
  5. BOOL GetListNet(LPNETRESOURCE lpNet1)
  6. {
  7.     LPNETRESOURCE lpNet2;
  8.     HANDLE hEnum;
  9.     DWORD buff = 16384;
  10.     DWORD cnt = -1;
  11.     DWORD dwResult;
  12.  
  13.     dwResult = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, lpNet1, &hEnum);
  14.  
  15.     if(dwResult == NO_ERROR)
  16.     {
  17.         lpNet2 = (LPNETRESOURCE) GlobalAlloc(GPTR, buff);
  18.         if(lpNet2 == NULL)
  19.             return FALSE;
  20.  
  21.         do
  22.         {
  23.             ZeroMemory(lpNet2, buff);
  24.  
  25.             dwResult = WNetEnumResource(hEnum, &cnt, lpNet2, &buff);
  26.  
  27.             if(dwResult == NO_ERROR)
  28.             {
  29.  
  30.                 for(DWORD i = 0; i < cnt; i++)
  31.                 {
  32.                     MessageBox(NULL, lpNet2.lpRemoteName, "Message", MB_OK);
  33.                 
  34.                     if(RESOURCEUSAGE_CONTAINER == (lpNet2.dwUsage & RESOURCEUSAGE_CONTAINER))
  35.                     {
  36.                          if(!GetListNet(&lpNet2))
  37.                          {
  38.                             MessageBox(NULL, "GetListNet return FALSE;", "Message", MB_OK);
  39.                          }
  40.                     }
  41.                 }
  42.  
  43.             }
  44.             else return FALSE;
  45.         }
  46.         while (dwResult != ERROR_NO_MORE_ITEMS);
  47.  
  48.         if(WNetCloseEnum(hEnum) != NO_ERROR)
  49.             return FALSE;
  50.  
  51.     }
  52.     else return FALSE;
  53.  
  54.     return TRUE;
  55. }
  56.  
  57. int _tmain(int argc, _TCHAR* argv[])
  58. {
  59.     LPNETRESOURCE lpRun;
  60.     DWORD buff = 16384;
  61.  
  62.     lpRun = (LPNETRESOURCE) GlobalAlloc(GPTR, buff);
  63.  
  64.     GetListNet(lpRun);
  65.  
  66.     return 0;
  67. }


Вот ещё откопал исходник http://slil.ru/27820432

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 08.07.09 11:56
Сетевое окружение в VB.

Ответить

Страница: 1 |

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



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