Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Подключение сетевого диска

Delphi , Интернет и Сети , Сетевые диски

Подключение сетевого диска

Звонок по телефону: "Включи асю!"
Включаю асю, сообщение: "Посмотри почту!"
Смотрю почту, письмо: "Позвони мне!"
Звоню, слышу: "Включи асю!"


//Пример открытия стандартного диалога 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  WNetConnectionDialog(Handle,RESOURCETYPE_DISK) 
end; 

//Так же можно подключить и принтер 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  WNetConnectionDialog(Handle,RESOURCETYPE_PRINT) 
end; 

//либо можно использовать следующий код 
procedure TForm1.Button2Click(Sender: TObject); 
var 
NetResource: TNetResource; 
begin 
  { заполняем структуру TNetResource } 
  NetResource.dwType       := RESOURCETYPE_DISK; 
  NetResource.lpLocalName  := 'S:'; 
  NetResource.lpRemoteName := '\\myserver\public'; 
  NetResource.lpProvider   := ''; 

  { подключаем сетевой ресурс, используя структуру TNetResource } 
  If ( WNetAddConnection2(NetResource, 
                         '', {Password (if needed) or empty} 
                         '', {User name (if needed) or empty} 
                         CONNECT_UPDATE_PROFILE)<>NO_ERROR) Then 
     Raise Excepcion.Create('unable to map drive') 
  //так же существуют другие константы для определения возникшей ошибки 
  //ERROR_ACCESS_DENIED, ERROR_ALREADY_ASSIGNED, и т.д. 
end; 

//так же можно и отключить сетевой ресурс... 
procedure TForm1.Button2Click(Sender: TObject); 
begin 
  if WNetCancelConnection2( 'S:',0,TRUE) <> NO_ERROR then 
    Raise Exception.create('Error disconnecting map drive'); 
  //соответственно можно использовать другие константы для определения ошибки
  //ERROR_DEVICE_IN_USE, ERROR_NOT_CONNECTED, и т.д. 
end;

Пример программирования на языке Delphi, демонстрирующий, как подключаться и отключаться к сети диска с помощью функций Windows API WNetConnectionDialog и WNetAddConnection2. В примере также показано, как отменить подключение с помощью WNetCancelConnection2.

Разбивка каждого процедуры:

  1. Button1Click (используя WNetConnectionDialog): Эта процедура открывает стандартное диалоговое окно, позволяющее пользователю выбрать ресурс сети,such as a disk or printer.

  2. Button1Click (используя RESOURCETYPE_ PRINT): Эта процедура аналогична предыдущей, но она конкретно подключается к ресурсу принтера вместо диска.

  3. Button2Click: Эта процедура использует структуру TNetResource, чтобы указать ресурс сети, локальное имя, удаленное имя и провайдера (если необходимо). Функция WNetAddConnection2 затем используется для подключения к указанному ресурсу. Если происходит ошибка при подключении, возникает исключение.

  4. Button2Click (отключая): Эта процедура использует функцию WNetCancelConnection2, чтобы отключить предыдущее подключение к сети диска. Если происходит ошибка при отключении, возникает исключение.

Некоторые примечания по коду:

  • Переменная Handle не определена в этом примере, поэтому предполагается, что это является валидным handle для основной формы.
  • Используются константы RESOURCETYPE_ DISK и RESOURCETYPE_ PRINT, чтобы указать тип ресурса сети, к которому нужно подключиться.
  • В второй процедуре поле lpRemoteName задается на \\myserver\public, что указывает удаленное имя ресурса сети. Вы должны заменить это на реальный путь к вашему сетевому диску.
  • Функция WNetAddConnection2 возвращает код ошибки, который можно использовать для определения успешности подключения. В этом примере если подключение не удается, возникает исключение. Вы можете использовать другие константы, такие как ERROR_ACCESS_DENIED, ERROR_ALREADY_ASSIGNED, и т.д., чтобы обрабатывать различные типы ошибок.
  • Функция WNetCancelConnection2 также возвращает код ошибки, который можно использовать для определения успешности отключения.

В целом, это пример демонстрирует, как подключаться и отключаться к сети диска с помощью Delphi и Windows API.

В статье описывается подключение сетевого диска в программировании на языке Delphi с использованием функции WNetConnectionDialog и структуры TNetResource.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Сетевые диски ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 06:05:44/0.0034339427947998/0