Lister les connections réseau

procedure TForm1.Button1Click(Sender: TObject);
var
i, dwResult: DWORD ;
hEnum: THANDLE ;
lpnrDrv: PNETRESOURCE ;
s: string;
const
cbBuffer:DWORD = 16384;
cEntries: DWORD = $FFFFFFFF;
begin

dwResult := WNetOpenEnum( RESOURCE_CONNECTED,
RESOURCETYPE_ANY,
0,
nil,
hEnum );

if (dwResult <> NO_ERROR) then begin
ShowMessage('Cannot enumerate network drives.' );
Exit;
end;
s := '';
repeat
lpnrDrv := PNETRESOURCE (GlobalAlloc( GPTR, cbBuffer ));
dwResult := WNetEnumResource( hEnum, cEntries, lpnrDrv, cbBuffer);
if (dwResult = NO_ERROR) then begin
s := 'Network drives:'#13#10;
for i := 0 to cEntries - 1 do begin
if lpnrDrv^.lpLocalName <> nil then
s := s + lpnrDrv^.lpLocalName + #9 + lpnrDrv^.lpRemoteName;
Inc(lpnrDrv);
end;
end
else
if dwResult <> ERROR_NO_MORE_ITEMS then begin
s := s + 'Cannot complete network drive enumeration';
GlobalFree( HGLOBAL(lpnrDrv));
break;
end;
GlobalFree( HGLOBAL(lpnrDrv) );
until (dwResult = ERROR_NO_MORE_ITEMS );
WNetCloseEnum(hEnum);
if s = '' then s := 'No network connections.';
ShowMessage(s);
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour18/11/2001
VisualisationVu 1844 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Internet
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur