Модераторы: Daevaorn
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Локальная Сеть 
:(
    Опции темы
_IGOR
Дата 15.4.2003, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 9.3.2003

Репутация: нет
Всего: нет



Задача следующая:
1. Имеется локальная сеть (платформа Windows) требуется отобразить список ВСЕХ групп и соответствующих им компов в локальной сети: например:
MY_GRUP
|_Комп1
|_ Комп2
|_ Комп3

GRP2
|_IGOR
|_ VASYA

P.S. Аналогично так же как “вся сеть\Сеть Микрософт” в сетевом окружении

2. Произвести копирование файла(ну или каталога) с одного компа на другой.

ЧТО Я УЖЕ СДЕЛАЛ И В ЧЕМ ПРОБЛЕМЫ:
У меня получилось отобразить список компов входящих в мою группу (аналогично “соседние компьютеры” в сетевом окружении).

1.Я не знаю как определить какие еще группы в сети существуют и какие компы в них входят!!!!!!!!!
2. Пробовал производить копирование с одного компа на другой посредством функции CopyFile –ничего не получилось. Я подозреваю, что должна быть аналогичная ей сетевая функция, но я ее не нашел!
3. Ну, и если кому надо могу предоставить текст для отображения списка компов
Подскажите ПОЖАЛУЙСТА!!! baaa.gif
PM MAIL   Вверх
Step
Дата 16.4.2003, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



код
Код
BOOL WINAPI EnumerateFunc(HWND hwnd,
      HDC hdc,
      LPNETRESOURCE lpnr)
{
DWORD dwResult, dwResultEnum;
HANDLE hEnum;
DWORD cbBuffer = 16384;      // 16K is a good size
DWORD cEntries = -1;         // enumerate all possible entries
LPNETRESOURCE lpnrLocal;     // pointer to enumerated structures
DWORD i;
//
// Call the WNetOpenEnum function to begin the enumeration.
//
dwResult = WNetOpenEnum(RESOURCE_GLOBALNET, // all network resources
RESOURCETYPE_ANY,   // all resources
0,        // enumerate all resources
lpnr,     // NULL first time the function is called
&hEnum);  // handle to the resource
if (dwResult != NO_ERROR)
{  
//
// Process errors with an application-defined error handler.
//
return FALSE;
}
//
// Call the GlobalAlloc function to allocate resources.
//
lpnrLocal = (LPNETRESOURCE) GlobalAlloc(GPTR, cbBuffer);
do
{  
//
// Initialize the buffer.
//
ZeroMemory(lpnrLocal, cbBuffer);
//
// Call the WNetEnumResource function to continue
//  the enumeration.
//
dwResultEnum = WNetEnumResource(hEnum,      // resource handle
 &cEntries,  // defined locally as -1
 lpnrLocal,  // LPNETRESOURCE
 &cbBuffer); // buffer size
//
// If the call succeeds, loop through the structures.
//
if (dwResultEnum == NO_ERROR)
{
 for(i = 0; i < cEntries; i++)
 {
  // Call an application-defined function to
  //  display the contents of the NETRESOURCE structures.
  //


вот сдесь надо сделать проверку на то что ты хочеш получить, группы, компы, расшаренные папки
Код

  SendDlgItemMessage (AfxGetApp()->m_pMainWnd->m_hWnd, IDC_LIST1, LB_ADDSTRING, NULL, (LPARAM)lpnrLocal[i].lpRemoteName);
  // If the NETRESOURCE structure represents a container resource,
  //  call the EnumerateFunc function recursively.
  if(RESOURCEUSAGE_CONTAINER == (lpnrLocal[i].dwUsage
   & RESOURCEUSAGE_CONTAINER))
   if(!EnumerateFunc(hwnd, hdc, &lpnrLocal[i])) {}
 }
}
// Process errors.
//
else if (dwResultEnum != ERROR_NO_MORE_ITEMS)
{
 break;
}
}
//
// End do.
//
while(dwResultEnum != ERROR_NO_MORE_ITEMS);
//
// Call the GlobalFree function to free the memory.
//
GlobalFree((HGLOBAL)lpnrLocal);
//
// Call WNetCloseEnum to end the enumeration.
//
dwResult = WNetCloseEnum(hEnum);
if(dwResult != NO_ERROR)
{
//
// Process errors.
//
return FALSE;
}
return TRUE;
}
void CMFCDlg::OnBnClickedButton3()
{
EnumerateFunc (m_hWnd, NULL, NULL);
}
[CODE]


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Baa
Дата 16.4.2003, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Правила кто-нить читаетconfused.gif ОДИН вопрос - ОДНА тема!!!


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0759 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.