![]() |
|
|
![]()
|
|
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
искал везде но не нашел вот решил и народа спросить
кароче суть : как правильно работать с WNetOpenEnum,WNetEnumResource делаю invoke WNetOpenEnumA,RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,0,lphEnum получаю хедер скажем так потом invoke WNetEnumResourceA,[lphEnum],count=0xffffffffh,buffer,bufsize=16384 получаю списочек root нахожу в нем контейнер RESOURCEUSAGE_CONTAINER и после этого тормоза тоесть не пойму нада ли закрыват хедер и делать снова WNetOpenEnum но уже с заполненой struc NETRESOURCE или просто делать WNetEnumResource опять же с заполненой struc NETRESOURCE чтоб получить список компьютеров в сети в инете чтото ниче конкретного не нашел такчто ткните носом плиз -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
WNetOpenEnum
WNetEnumResource WNetCloseEnum потом берешь что-нибудь из результатов енума и WNetOpenEnum (c одним из результатов предыдущего енума) WNetEnumResource WNetCloseEnum -------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
а лучше сделать рекурсивную процедурину, которая обшаривала бы всю сеть:
-------------------- С уважением, г-н Посол. |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
if (buf[i].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then NetEnumerate(buf[i]);
NetEnumerate это из какой dll? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
это твоя рекурсивная процедура -------------------- С уважением, г-н Посол. |
||||
|
|||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
не работает
делаю WNetOpenEnumA(2,0,0,0,&lphEnum); WNetEnumResourceA(lphEnum,&lpcCount,buffer,&bsize); получаю в буфере структуру вопрос ! надо ли делать WNetCloseEnum(&lphEnum) ? идем дальше проверяю то что в буфере нахожу dwUsage=RESOURCEUSAGE_CONTAINER а теперь вопрос знатокам! дальше как? я так понимаю что найденый dwUsage=RESOURCEUSAGE_CONTAINER нада передать в WNetEnumResourceA(lphEnum,&lpcCount,buffer,&bsize); как? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
Насчет моего примера: я тебе привел пример на глаз, не проверяя, и не знаю, в чем у тебя была проблема, но вот этот пример работает (находит все компы в сети):
Как видишь отличий от предыдущего практически нет, только добавлен код для начального енума. Вызывается это дело так: NetEnumerate (nil); Извини, что на Delphi, но думаю ничего сложного тут нет... Вместо Form1.ListBox1.Items.Add(buf[i].lpRemoteName) подставь свой код - здесь в buf[i].lpRemoteName содержиться имя компа. Можешь также юзать совместно с NetServerGetInfo для получения еще кое-какой дополнительной инфы... Это сообщение отредактировал(а) p0s0l - 22.8.2003, 18:16 -------------------- С уважением, г-н Посол. |
|||
|
||||
| SCHEPA |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 7.6.2003 Где: Н.Н. Репутация: нет Всего: нет |
Надо.
Идем... WNetEnumResourceA(lphEnum,&lpcCount,buffer,&bsize) - возвращает тебе в buffer массив структур NETRESOURCE. Выбираешь из них нужную и снова начинается WNetOpenEnum - получаешь хендл. WNetEnumRecource - получаешь сетевые ресурсы. WNetCloseEnum - финиш. --------------------
Так что в лучших книгах всегда нет имен... |
||||
|
|||||
| SCHEPA |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 7.6.2003 Где: Н.Н. Репутация: нет Всего: нет |
Вообще у меня есть прога на Билдере, так сказать первый опыт в этом деле. Там все работает. Если надо могу скинуть.
--------------------
Так что в лучших книгах всегда нет имен... |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
все народ
сделал всем биг сенкс за советы мне в принципе сам алгоритм тока нужен был на асме пишется все -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |