Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Восстановить подключение к сетевому диску [D6, XP]


darova ©   (2008-08-12 17:02:00) 

Если машина ребутится, то смонтированный сетевой диск отрубается.
Т.е. например, DirectoryExist перестает работать. Но если войти на него через мой компьютер вручную, то соединение опять восстановится и DirectoryExist работать будет. В этом и вопрос, как после проверки, восстановить подключение к сетевому диску?


Ball   (2008-08-12 17:18:00) [1]

Как подключить сетевой диск?Если возникла необходимость, чтобы Ваше приложение самостоятельно подключало сетевой ресурс, то это можно сделать двумя способами: вызвать стандартный диалог подключения ресурса либо использоваться следующий код.

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

procedure TForm1.Button1Click(Sender: TObject);  
begin  
 WNetConnectionDialog(Handle,RESOURCETYPE_DISK)  
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;


(откуда то)


Наверх

Титульная страница Поиск, карта сайта Написать письмо