Einzelnen Beitrag anzeigen

Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#12
  Alt 10. Mai 2003, 10:34
Es funktioniert Die Funktion findet auf meinem XP Rechner sogar versteckte Freigaben die mir gar nicht bekannt waren.
Da ich ja nur die freigegebenen Festplatten brauche, habe ich noch kleine Änderungen vorgenommen. Hier ist der Code für die übrigen DPler:

Einmal die Deklaration für "Share_Info_2". Dieser ermittelt auch den Freigaben Typ in "shi2_type":

Delphi-Quellcode:
type
  PSHARE_INFO_2 =^SHARE_INFO_2;
  SHARE_INFO_2 = packed record
     shi2_netname : PWChar;
     shi2_type : Dword;
     shi2_remark : PWChar;
     shi_permissions : DWord;
     shi2_max_uses : DWord;
     shi2_current_uses : DWord;
     shi2_path : PWChar;
     shi2_passwd : PWChar;
    end;

Und hier das Auflisten von freigegebenen Festplatten.
Delphi-Quellcode:
procedure TForm3.SpeedButton2Click(Sender: TObject);
var
  si2Work : PSHARE_INFO_2;
  si2Save : PSHARE_INFO_2;
  dwEntriesRead : DWORD;
  dwTotalEntries : DWORD;
  i : DWORD;
begin
  if NetShareEnum(nil,2,@si2Work,MAX_PREFERRED_LENGTH,@dwEntriesRead,@dwTotalEntries,nil) <> Nerr_Success then exit;
  try
    si2Save := si2Work;
    for i := 1 to dwEntriesRead do
    begin
      if si2Save.shi2_type = STYPE_DISKTREE then
           ComboBox1.Items.Add(si2Save.shi2_netname);
      inc(si2Save);
    end;
  finally
    NetApiBufferFree(si2Work);
  end;
end;
Eine Frage hätte ich aber noch. Wie schaffe ich es, das mein Programm auch unter 9x funktioniert Hier sind die benötigten Funktionen ja in der "SvrApi.dll".

Thx Salomon
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat