![]() |
Freigaben im Netzwerk suchen
Ich habe hier ne Funktion:
Delphi-Quellcode:
Type
TShareInfo2 = packed record shi2_netname : PWChar; shi2_type: DWORD; shi2_remark :PWChar; shi2_permissions: DWORD; shi2_max_uses : DWORD; shi2_current_uses : DWORD; shi2_path : PWChar; shi2_passwd : PWChar; end; PShareInfo2 = ^ TShareInfo2; TShareInfo2Array = array [0..512] of TShareInfo2; PShareInfo2Array = ^ TShareInfo2Array;
Delphi-Quellcode:
Mit der kann ich nach Freigaben suchen *angeblich*.
Function NetShareEnum (servername:PWChar; level:DWORD; bufptr:Pointer; prefmaxlen:DWORD; entriesread, totalentries, resume_handle:LPDWORD): DWORD; stdcall; external 'netapi32.dll';
Solange ich nix angebe als Servernamen oder meine IP, klappt das auch soweit ganz gut, aber sobald ich eine IP eines anderen PCs angebe, tut das nicht.
Delphi-Quellcode:
Kann da kurz wer weiterhelfen? :mrgreen:
procedure TMain.Button1Click(Sender: TObject);
var Share: PShareInfo2Array; EntriesRead, TotalEntries:DWORD; i, Length: Integer; Name: String; Server: PWideChar; begin Main.ListBox1.Clear; Share := nil; Name := ''; {*** -Hier- ***} Length := SizeOF(WideChar)*256; GetMem(Server, Length); StringToWideChar(Name, Server, Length); if NetShareEnum(Server,2,@Share,DWORD(-1), @EntriesRead, @TotalEntries,nil) <> 0 then Exit; if EntriesRead > 0 then for i:= 0 to entriesread - 1 do Main.ListBox1.Items.Add(String(Share^[i].shi2_netname)); FreeMem(Server); end; CrashMan :bounce2: :spin: :dance: |
Re: Freigaben im Netzwerk suchen
Moin Crashman,
hat der angegebene Rechner auch ein NT basiertes Betriebssystem? Übrigens musst Du noch den Buffer (Share) wieder freigeben. Schau Dir dazu mal am Besten die Dokumentation zu NetShareEnum im PSDK bzw. MSDN an. |
Re: Freigaben im Netzwerk suchen
Ich hab mir das in der MSDN angeguckt...muss der andeere auch ein NT-basierendes haben? Der andere hat nämlich Win98 ... :gruebel:
Geht das auch irgentwie? CrashMan |
Re: Freigaben im Netzwerk suchen
Meines wissens nicht, erst Win2000 oder NT, da musst du dir wohl n kleines tool schreiben....
|
Re: Freigaben im Netzwerk suchen
Moin Crashman,
Zitat:
Du könntest Dir allerdings ersatzweise mal WNetEnumResource anschauen. Damit müsste das, wenn auch eingeschränkt, betriebssystemübergreifend funktionieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz