Code: |
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; |
Code: |
function MapNetworkDrive(Wnd: HWND = 0): DWORD; begin if Wnd = 0 then Wnd:=FindWindow('Shell_TrayWnd',''); Result:=WNetConnectionDialog(Wnd, RESOURCETYPE_DISK); end; |
Пример использования:
Code: |
MapNetworkDrive(Application.Handle); |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!