Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > подключение к сетевым папкам


Автор: ilya198293 4.9.2007, 13:51
на серваке есть папка, к которой можно подключиться по логину и паролю...как сделать так, чтоб приложение само подключалось

Автор: MadCoder 27.11.2008, 16:41
Меня этот же вопрос интересует. Как это возможно сделать?

Автор: Matematik 27.11.2008, 23:26
Код

procedure TForm1.Button1Click(Sender: TObject);
var
NetResource: TNetResource;
Res: Cardinal;
begin
  { заполняем структуру TNetResource }
  ZeroMemory(@NetResource, SizeOf(NetResource));
  NetResource.dwType       := RESOURCETYPE_DISK;
  NetResource.lpLocalName  := 'K:';
  NetResource.lpRemoteName := '\\192.168.0.100\Films';

  { подключаем сетевой ресурс, используя структуру TNetResource }
  res := WNetAddConnection2(NetResource,
                         '', {Password (if needed) or empty}
                         'Dmitrij', {User name (if needed) or empty}
                         CONNECT_UPDATE_PROFILE);
  If (Res<>NO_ERROR) Then
     Raise Exception.Create('unable to map drive: '+SysErrorMessage(Res))
end;

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


PS
гугл рулит!

Автор: ilya198293 28.11.2008, 06:29
а без использования монтирования диска
можно ведь через эксплорер полазить по защищённому диску не монтируя его.
пользователь вообще не должен знать где что находится
просто должен пользоваться программой, а та в свою очередь осуществлять работу с файлами с защищённого диска

Автор: Matematik 28.11.2008, 11:02
> а без использования монтирования диска

Попробуй не заполнять NetResource.lpLocalName 
Цитата из справки:
Цитата

lpLocalName Points to a null-terminated string that specifies the name of a local device to redirect, such as "F:" or "LPT1". The string is treated in a case-insensitive manner. 
If the string is empty, or if lpLocalName is NULL, the function makes a connection to the network resource without redirecting a local device.

Если подключится, можно работать как с обычными файлами - FindFirst, CreateFile etc

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)