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

Материал из DRKB

Диалог подключения сетевого диска[править | править код]

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;


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



{ **** UBPFD *********** by kladovka.net.ru ****
>> Открытие диалогового окна «Подключение сетевого диска»

Зависимости: Windows

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);


Source: kladovka.net.ru
ID: 01214