Недавно добавленные исходники

•  TDictionary Custom Sort  3 225

•  Fast Watermark Sources  2 990

•  3D Designer  4 750

•  Sik Screen Capture  3 259

•  Patch Maker  3 467

•  Айболит (remote control)  3 528

•  ListBox Drag & Drop  2 904

•  Доска для игры Реверси  80 775

•  Графические эффекты  3 843

•  Рисование по маске  3 171

•  Перетаскивание изображений  2 544

•  Canvas Drawing  2 672

•  Рисование Луны  2 500

•  Поворот изображения  2 092

•  Рисование стержней  2 119

•  Paint on Shape  1 524

•  Генератор кроссвордов  2 183

•  Головоломка Paletto  1 730

•  Теорема Монжа об окружностях  2 158

•  Пазл Numbrix  1 649

•  Заборы и коммивояжеры  2 016

•  Игра HIP  1 262

•  Игра Go (Го)  1 200

•  Симулятор лифта  1 422

•  Программа укладки плитки  1 177

•  Генератор лабиринта  1 512

•  Проверка числового ввода  1 297

•  HEX View  1 466

•  Физический маятник  1 322

•  Задача коммивояжера  1 357

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Как подключить и отключить сетевые диски



Звонит один мужик своему интернет-провайдеру и говорит оператору:
- Алло, здраствуйте, у меня проблема! Я не могу зайти в интернет!
- А в чем, собственно говоря, дело?
- А у меня нет компьютера.

Для работы с сетевыми дисководами (и ресурсами типа LPT порта) в WIN API 16 и WIN API 32 следующие функции:

Подключить сетевой ресурс:


WNetAddConnection(NetResourse, Password, LocalName: PChar): longint;

где

  1. NetResourse - имя сетевого ресурса (например '\\P166\c')
  2. Password - пароль на доступ к ресурсу (если нет пароля, то пустая строка)
  3. LocalName - имя, под которым сетевой ресурс будет отображен на данном компьютере (например 'F:')

Пример подключения сетевого диска:


WNetAddConnection('\\P166\C', '', 'F:');

Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые:

  • NO_ERROR - Нет ошибок - успешное завершение
  • ERROR_ACCESS_DENIED - Ошибка доступа
  • ERROR_ALREADY_ASSIGNED - Уже подключен. Наиболее часто возникает при повторном вызове данной функции с теми-же параметрами.
  • ERROR_BAD_DEV_TYPE - Неверный тип устройства.
  • ERROR_BAD_DEVICE - Неверное устройство указано в LocalName
  • ERROR_BAD_NET_NAME - Неверный сетевой путь или сетевое имя
  • ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
  • ERROR_INVALID_PASSWORD - Неверный пароль
  • ERROR_NO_NETWORK - Нет сети

Отключить сетевой ресурс


WNetCancelConnection(LocalName: PChar; ForseMode: Boolean): Longint; 

где

  1. LocalName - имя, под которым сетевой ресурс был подключен к данному компьютеру (например 'F:')
  2. ForseMode - режим отключения :
    • False - корректное отключение. Если отключаемый ресурс еще используется, то отключения не произойдет (например, на сетевом диске открыт файл)
    • True - скоростное некорректное отключение. Если ресурс используется, отключение все равно произойдет и может привести к любым последствиям (от отсутствия ошибок до глухого повисания)

Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые:

  • NO_ERROR - Нет ошибок - успешное завершение
  • ERROR_DEVICE_IN_USE - Ресурс используется
  • ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
  • ERROR_NOT_CONNECTED - Указанное ус-во не является сетевым
  • ERROR_OPEN_FILES - На отключаемом сетевом диске имеются открытые файлы и параметр ForseMode=false

Рекомендация: при отключении следует сначала попробовать отключить ус-во с параметром ForseMode=false и при ошибке типа ERROR_OPEN_FILES выдать запрос с сообщением о том, что ус-во еще используется и предложением отключить принудительно, и при согласии пользователя повторить вызов с ForseMode=true.








Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте