![]() |
Eigenen Arbeitsgruppennamen ermitteln
hallo,
ich möchte eine möglichkeit haben, nicht über die registry, den namen meiner eigenen arbeitsgruppe zu erfahren. Hinweise, wie "erst Suche verwenden" werde ich ignorieren, da ich gestern bereits stundenlang unter vielen Wortkombinationen gesucht habe. Das einzig, was ich gefunden habe, sind funktionen aus der msdn libary, allerdings verstehe ich nicht wie man diese einsetzt. Vielleicht könnte mir jemand bitte mal ein Beispiel geben, wie das funktioniert. Danke Dt2158 |
Re: Eigenen Arbeitsgruppennamen ermitteln
das kann doch nicht so schwer sein *push*, um den computernamen herauszufinden hab ich einige threads gefunden, aber die arbeitsgruppe :cry:
|
Re: Eigenen Arbeitsgruppennamen ermitteln
Hai Dt2158,
in der Delphi-PRAXIS darf erst nach min. 24h gepusth werden! Suche mal nach dem Stichwort [dp]Domäne[/dp] |
Re: Eigenen Arbeitsgruppennamen ermitteln
Zitat:
![]() ![]() ![]() Zitat:
Zitat:
|
Re: Eigenen Arbeitsgruppennamen ermitteln
ja,die beiden threads hatte ich auch schon gecheckt!
ich wirklich schon alle sinnvollen threads mit "arbeitsgruppe" "domäne" durchgeschaut. Aber alle Threads laufen darauf hinaus alle Rechner im Netzwerk, in einer Arbeitsgruppe anzeigen und deren freigaben. Ich bin sicher, das die Beispiele ganz dicht an meinem Problem heranführen, aber ich nicht in der Lage bin diese Beispiele umzuschreiben, dass sie mein Problem lösen. Bitte nehmen wir folgendes Stück Code, was Luckie per Link präsentiert hat!
Code:
type
PNetResourceArray = ^TNetResourceArray; TNetResourceArray = array[0..100] of TNetResource; function CreateNetResourceList(ResourceType: DWord; NetResource: PNetResource; out Entries: DWord; out List: PNetResourceArray): Boolean; var EnumHandle: THandle; BufSize: DWord; Res: DWord; begin Result := False; List := Nil; Entries := 0; if WNetOpenEnum(RESOURCE_GLOBALNET, ResourceType, 0, NetResource, EnumHandle) = NO_ERROR then begin try BufSize := $4000; // 16 kByte GetMem(List, BufSize); try repeat Entries := DWord(-1); FillChar(List^, BufSize, 0); Res := WNetEnumResource(EnumHandle, Entries, List, BufSize); if Res = ERROR_MORE_DATA then begin ReAllocMem(List, BufSize); end; until Res <> ERROR_MORE_DATA; Result := Res = NO_ERROR; if not Result then begin FreeMem(List); List := Nil; Entries := 0; end; except FreeMem(List); raise; end; finally WNetCloseEnum(EnumHandle); end; end; end; procedure ScanNetworkResources(ResourceType, DisplayType: DWord; List: TStrings); procedure ScanLevel(NetResource: PNetResource); var Entries: DWord; NetResourceList: PNetResourceArray; i: Integer; begin if CreateNetResourceList(ResourceType, NetResource, Entries, NetResourceList) then try for i := 0 to Integer(Entries) - 1 do begin if (DisplayType = RESOURCEDISPLAYTYPE_GENERIC) or (NetResourceList[i].dwDisplayType = DisplayType) then begin List.AddObject(NetResourceList[i].lpRemoteName, Pointer(NetResourceList[i].dwDisplayType)); end; if (NetResourceList[i].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then ScanLevel(@NetResourceList[i]); end; finally FreeMem(NetResourceList); end; end; begin ScanLevel(Nil); end;
Code:
dieser code listet angeblich alle rechner im netzwerk!
procedure TForm1.BitBtn2Click(Sender: TObject);
begin ScanNetworkResources(RESOURCETYPE_DISK, RESOURCEDISPLAYTYPE_SERVER, ListBox1.Items); end; ich brauch aber nur meine arbeitsgruppe. man bin ich verzweifelt, suche jetzt schon seit gestern eine Lösung. |
Re: Eigenen Arbeitsgruppennamen ermitteln
Moin DT,
Zitat:
Mir fallen da ![]() ![]() Wo liegt das Verständnisproblem? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 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