Диалог подключения сетевого диска

procedure TStartForm.NetBtnClick(Sender: TObject);
var
 OldDrives: TStringList;
 i: Integer;
begin
 OldDrives := TStringList.Create;
 // Запоминаем список дисков
 OldDrives.Assign(Drivebox.Items);
 // Показываем диалог подключения
 if WNetConnectionDialog(Handle, RESOURCETYPE_DISK) = NO_ERROR then
 begin
  // Обновляем список дисков
  DriveBox.TextCase := tcLowerCase;
  for i := 0 to DriveBox.Items.Count - 1 do
  begin
  // Ищем свободный логический диск
  if Olddrives.IndexOf(Drivebox.Items[i]) = -1 then
  begin
  // Показываем первый найденный логический диск
  DriveBox.ItemIndex := i;
  // Каскадируем обновление на список подключенных каталогов и др.
  DriveBox.Drive := DriveBox.Text[1];
  end;
  end;
  DriveBox.SetFocus;
 end;
 OldDrives.Free;
end;


Взято с http://delphiworld.narod.ru

{ **** UBPFD *********** by kladovka.net.ru ****
>> Открытие диалогового окна «Подключение сетевого диска»
Зависимости: Windows
Автор: Dimka Maslov, <a href="mailto:mainbox@endimus.ru">mainbox@endimus.ru</a>, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov
Дата: 21 мая 2002 г.
********************************************** }

function MapNetworkDrive(Wnd: HWND = 0): DWORD;
begin
 if Wnd = 0 then Wnd:=FindWindow('Shell_TrayWnd',''); Result:=WNetConnectionDialog(Wnd, RESOURCETYPE_DISK);
end;

Пример использования:

MapNetworkDrive(Application.Handle);

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...