A2 Ответ кроется в группе функций с префиксом ::WNetXXX:
WNetOpenEnum(RESOURCE_CONTEXT, RESOURCETYPE_ANY, 0, NULL, &handleEnum) – открыть нумерацию локальных доменов верхнего уровня (включая узел Entire Network, эквиалентно выбору Network Neighbourhoods в Explorer), четвертый параметр имеет тип LPNETRESOURCE, где NETRESOURCE – структура, описывающая узел;
WNetOpenEnum(RESOURCEUSAGE_CONTAINER, RESOURCETYPE_ANY, 0, pNetCurrent, &handleEnum) – открыть нумерацию ресурсов узла (шаринги, локальные домены следующего уровня, принтеры, см. флажки в МСДН);
WNetEnumResource(handleEnum, &dwCounter, pNetResource, &dwBufferSize) – получить список ресурсов узла, handleEnum получается предыдущей ф-цией.
…я бы не советовал заполнять листбокс всеми именами машин за раз, процесс этот может быть довольно длительным во времени (порядка минуты); если сеть достаточно велика (от 30-50 машин), лучше использовать дерево.
A3 Список машин, их имена, имена провайдера, тип подключения и т.д. имеется в реестре. Смотри ключи:
HKEY_CURRENT_USER\Network
HKEY_CURRENT_USER\Network\Recent
Функции для работы с реестром имеются, ищи в MSDN Library, например, RegOpenKeyEx, RegQueryInfoKey. Там же в MSDN Library имеются и примеры работы с реестром (в обзорах, конечно).
К сведению: Не во всех системах есть такие ключи реестра. В Windows NT/2000, например, их нет.
Хочу поблагодарить всех, кто откликнулся и прислал ответ на вопрос. Если хотите чтобы ваш ответ был опубликован – постарайтесь, чтобы он был лучше других! Напоминаю, что только вопросы от авторов опубликованных ответов и материалов имеют в дальнейшем приоритет. (Вопросы, естественно, должны быть по программированию).
Q. Как создать такое окно (или это диалогбар?) как Workspace в Visual Studio? То есть, я представляю, что если это диалогбар со списком, то какие стили применить в Create, чтобы его можно было "переносить" и изменять размер?
Начинающим программистам рекомендую подписаться на дружественную рассылку:
Практикум программирования на C++ под Windows
Учебный курс по программированию на языке C++ под Windows. Предназначена для тех, кто уже (немного) умеет программировать, но не знает языка C++ или идеологии написания программ под Windows. В планах — изучение Win32 API, MFC, терминологии Windows и технологий, связанных с ней. Ответы на вопросы, глоссарий, приложения.
Будьте здоровы!
Программирование на Visual C++
Выпуск №20 от 22 октября 2000 г.
Здравствуйте, уважаемые подписчики!
Тем, кто еще пребывает в блаженном неведении, спешу сообщить хорошую новость.
Рассылка в октябре приобрела статус "золотой"!
Что это значит? По определению Subscribe.Ru, это означает, в частности, что рассылка:
– содержит свежие, актуальные и исключительно полноценные материалы;
– соблюдает указанную в описании тематику и периодичность;
– выходит на грамотном русском языке.
Скромно хочу отметить, что "Программирование на VC++" сейчас единственная "золотая" рассылка в разделе "программирование". Будем надеяться, что этот статус теперь закрепится за ней надолго.
Поздравления принимаются по все тому же адресу ;)