Сканиране на мрежата в търсене на налични ресурси

Сайт на Delphi: ежедневни Delphi-новини, документация, статии, рецензия, интервю, компютърен хумор.

Знаете ли какво представляват усъвършенстваните ресурси? Това са всякакви компютърни ресурси (директории, дискове или принтери), които са свободно достъпни от мрежата. Ако компютърът е свързан с локална мрежа, тогава за обмен на файлове най-често се предоставя (споделя) някакъв диск или папка. Е, ако компютърът има и достъп до Интернет, тогава тези ресурси могат да бъдат достъпни от всяка точка на земята, ако не се вземат предпазни мерки .

Във формуляра се нуждаем от един компонент TEdit (посочете AddressEdit в свойството name) и един Tmeto (тук ще оставим стойността по подразбиране Memol в свойството name). Компонентите трябва да бъдат стилизирани правилно и да се добави бутон Сканиране. На фиг. 4.25 можете да видите моя вариант на формуляра.

налични

Фигура: 4.25. Форма на бъдещата програма

Сега трябва да създадем манипулатор на събития onclick за бутона и да напишем следното в него (Листинг 4.3).

Ако разбирате списъка, можете да завършите четенето на този раздел. Е, ако имате някакви проблеми, тогава нека го анализираме по-подробно.

В самото начало се попълва структурата NetcontainerToOpen, която е декларирана в раздела var като принадлежаща към типа netresource. Тя трябва да попълни следните пет полета.

1. dwScope - в този параметър трябва да посочите обхвата на изброените ресурси. Посочих ресурс_глобалнет, така че търсенето да се извършва в мрежата.

2. dwType - тук е посочен видът на изброените ресурси. Можете да посочите resourcetypejdisk за дискове, resqurcetype_print за принтери и resourcetype_any ЗА ОБЩО.

3.lpLocalMame - този параметър трябва да бъде зададен на нула.

5. IpProvider - името на собственика на ресурса. Ако не е известно, трябва да посочите нула.

След като попълните структурата, трябва да отворите процеса на сканиране. За това има функция WNetOpenEnum със следните пет параметъра.