Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Монтирование сетевого диска   Найти похожие ветки 

 
lightix   (2004-04-23 13:02) [0]

Подскажите, как смонтировать\размонтировать сетевой диск, чтобы при монтировании получить его имя ?


 
RAIN ©   (2004-04-23 13:15) [1]

Вот пример:

function ConnectDrive(_drvLetter: string; _netPath: string; _showError: Boolean;
 _reconnect: Boolean): DWORD;
var
 nRes: TNetResource;
 errCode: DWORD;
 dwFlags: DWORD;
begin
 { Fill NetRessource with #0 to provide uninitialized values }
 { NetRessource mit #0 fullen => Keine unitialisierte Werte }
 FillChar(NRes, SizeOf(NRes), #0);
 nRes.dwType := RESOURCETYPE_DISK;
 { Set Driveletter and Networkpath }
 { Laufwerkbuchstabe und Netzwerkpfad setzen }
 nRes.lpLocalName  := PChar(_drvLetter);
 nRes.lpRemoteName := PChar(_netPath); { Example: \\Test\C }
 { Check if it should be saved for use after restart and set flags }
 { Uberprufung, ob gespeichert werden soll }
 if _reconnect then
   dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE
 else
   dwFlags := CONNECT_INTERACTIVE;

 errCode := WNetAddConnection3(Form1.Handle, nRes, nil, nil, dwFlags);
 { Show Errormessage, if flag is set }
 { Fehlernachricht aneigen }
 if (errCode <> NO_ERROR) and (_showError) then
 begin
   Application.MessageBox(PChar("An error occured while connecting:" + #13#10 +
     SysErrorMessage(GetLastError)),
     "Error while connecting!",
     MB_OK);
 end;
 Result := errCode; { NO_ERROR }
end;

function ConnectPrinterDevice(_lptPort: string; _netPath: string; _showError: Boolean;
 _reconnect: Boolean): DWORD;
var
 nRes: TNetResource;
 errCode: DWORD;
 dwFlags: DWORD;
begin
 { Fill NetRessource with #0 to provide uninitialized values }
 { NetRessource mit #0 fullen => Keine unitialisierte Werte }
 FillChar(NRes, SizeOf(NRes), #0);
 nRes.dwType := RESOURCETYPE_PRINT;
 { Set Printername and Networkpath }
 { Druckername und Netzwerkpfad setzen }
 nRes.lpLocalName  := PChar(_lptPort);
 nRes.lpRemoteName := PChar(_netPath); { Example: \\Test\Printer1 }
 { Check if it should be saved for use after restart and set flags }
 { Uberprufung, ob gespeichert werden soll }
 if _reconnect then
   dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE
 else
   dwFlags := CONNECT_INTERACTIVE;

 errCode := WNetAddConnection3(Form1.Handle, nRes, nil, nil, dwFlags);
 { Show Errormessage, if flag is set }
 { Fehlernachricht aneigen }
 if (errCode <> NO_ERROR) and (_showError) then
 begin
   Application.MessageBox(PChar("An error occured while connecting:" + #13#10 +
     SysErrorMessage(GetLastError)),
     "Error while connecting!",
     MB_OK);
 end;
 Result := errCode; { NO_ERROR }
end;

function DisconnectNetDrive(_locDrive: string; _showError: Boolean; _force: Boolean;
 _save: Boolean): DWORD;
var
 dwFlags: DWORD;
 errCode: DWORD;
begin
 { Set dwFlags, if necessary }
 { Setze dwFlags auf gewunschten Wert }
 if _save then
   dwFlags := CONNECT_UPDATE_PROFILE
 else
   dwFlags := 0;
 { Cancel the connection see also at http://www.swissdelphicenter.ch/en/showcode.php?id=391 }
 { Siehe auch oben genannten Link (Netzlaufwerke anzeigen) }
 errCode := WNetCancelConnection2(PChar(_locDrive), dwFlags, _force);
 { Show Errormessage, if flag is set }
 { Fehlernachricht anzeigen }
 if (errCode <> NO_ERROR) and (_showError) then  
 begin
   Application.MessageBox(PChar("An error occured while disconnecting:" + #13#10 +
     SysErrorMessage(GetLastError)),
     "Error while disconnecting",
     MB_OK);
 end;
 Result := errCode; { NO_ERROR }
end;

{Beispiel / Example:}

procedure TForm1.Button1Click(Sender: TObject);
begin
 ConnectDrive("h:", "\\Servername\C", True, True);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 DisconnectNetDrive("h:", True, True, True);
end;



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-1085992081
Erik1
2004-05-31 12:28
2004.06.13
Как в наследнике TCollectionItem добавить атрибут из списка?


14-1085040996
Dmitriy O.
2004-05-20 12:16
2004.06.13
Скажите а у всех все так тормозит сдесь ?


6-1082544631
rimd1
2004-04-21 14:50
2004.06.13
процессы и сеть


1-1086024148
Delphin
2004-05-31 21:22
2004.06.13
Есть код, только при попытке компиляции, орёт, что какая-то там о


14-1085589609
Thor
2004-05-26 20:40
2004.06.13
что мешает сделать так?