Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi es wird keine arbeitsgruppe ausgelesen (https://www.delphipraxis.net/36131-es-wird-keine-arbeitsgruppe-ausgelesen.html)

HaZe 16. Dez 2004 10:29


es wird keine arbeitsgruppe ausgelesen
 
Hi

folgendes problem und zwar versuch ich per JV meine arbeitsgruppe auszulesen, aber leider wird diese nicht ausgelesen das label bleibt leer, ich habs auch schon mit anderen codes versucht, aber ohne erfolg.
Ich besitze w2k sp4.


cya

HaZe

sakura 16. Dez 2004 10:29

Re: es wird keine arbeitsgruppe ausgelesen
 
Was ist JV?

...:cat:...

Luckie 16. Dez 2004 10:30

Re: es wird keine arbeitsgruppe ausgelesen
 
Was ist JV? Und wie sahen deine anderen Methoden aus? Und was erwartest du jetzt eigentlich von uns? :gruebel:

HaZe 16. Dez 2004 10:55

Re: es wird keine arbeitsgruppe ausgelesen
 
sry meinte JVCL

also erste methode
Delphi-Quellcode:
 function GetComputerWorkgroup: string;
var reg: tregistry;
begin
     // Liest die Daten aus der Registrierung
     reg := tregistry.create(KEY_READ);
     reg.rootkey := HKEY_LOCAL_MACHINE;
     reg.openkey('System\CurrentControlSet\Services\VxD\VNETSUP',true);
     result := reg.readstring('Workgroup');
end;
leider liegt unter dem pfad 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servi ces\VxD\VNETSUP\' kein schlüssel mit dem namen Workgroup, also geht ich mal davon aus das dies vielleicht unter win98 so ist.


und per jvcl ganz simple

Delphi-Quellcode:
label1.caption := jvComputerinfo.workgroup;
cya

HaZe :coder2:

Edit: ich hatte noch eine methode aber die muss ich erst suchen

Luckie 16. Dez 2004 11:00

Re: es wird keine arbeitsgruppe ausgelesen
 
So, das war die JVCL Methode und wie sehen deine anderen Methoden aus?

HaZe 16. Dez 2004 11:22

Re: es wird keine arbeitsgruppe ausgelesen
 
oh

ich hab gerade bei SwissDelphiCenter eine methode gefunden die geht.

Delphi-Quellcode:
function NetServerGetInfo (serverName : PWideChar; level : Integer;
        var bufptr : Pointer) : Cardinal; stdcall; external 'NETAPI32.DLL';
function NetApiBufferFree (buffer : Pointer) : Cardinal; stdcall; external 'NETAPI32.DLL';

type
  SERVER_INFO_503 = record
    sv503_sessopens : Integer;
    sv503_sessvcs : Integer;
    sv503_opensearch : Integer;
    sv503_sizreqbuf : Integer;
    sv503_initworkitems : Integer;
    sv503_maxworkitems : Integer;
    sv503_rawworkitems : Integer;
    sv503_irpstacksize : Integer;
    sv503_maxrawbuflen : Integer;
    sv503_sessusers : Integer;
    sv503_sessconns : Integer;
    sv503_maxpagedmemoryusage : Integer;
    sv503_maxnonpagedmemoryusage : Integer;
    sv503_enablesoftcompat :BOOL;
    sv503_enableforcedlogoff :BOOL;
    sv503_timesource :BOOL;
    sv503_acceptdownlevelapis :BOOL;
    sv503_lmannounce :BOOL;
    sv503_domain : PWideChar;
    sv503_maxcopyreadlen : Integer;
    sv503_maxcopywritelen : Integer;
    sv503_minkeepsearch : Integer;
    sv503_maxkeepsearch : Integer;
    sv503_minkeepcomplsearch : Integer;
    sv503_maxkeepcomplsearch : Integer;
    sv503_threadcountadd : Integer;
    sv503_numblockthreads : Integer;
    sv503_scavtimeout : Integer;
    sv503_minrcvqueue : Integer;
    sv503_minfreeworkitems : Integer;
    sv503_xactmemsize : Integer;
    sv503_threadpriority : Integer;
    sv503_maxmpxct : Integer;
    sv503_oplockbreakwait : Integer;
    sv503_oplockbreakresponsewait : Integer;
    sv503_enableoplocks : BOOL;
    sv503_enableoplockforceclose : BOOL;
    sv503_enablefcbopens : BOOL;
    sv503_enableraw : BOOL;
    sv503_enablesharednetdrives : BOOL;
    sv503_minfreeconnections : Integer;
    sv503_maxfreeconnections : Integer;
  end;
  PSERVER_INFO_503 = ^SERVER_INFO_503;


function Get_Computer_Name: string;
var
  dwlen: DWORD;
begin
  dwlen := MAX_COMPUTERNAME_LENGTH + 1;
  Setlength(Result, dwlen);
  GetComputerName(pchar(Result), dwlen);
  Result := StrPas(pchar(Result));
end;

function GetDomainName : string;
var
  err : Integer;
  buf : pointer;
  fDomainName: string;
  wServerName : WideString;
begin
  wServerName := Get_Computer_Name;
  err := NetServerGetInfo (PWideChar (wServerName), 503, buf);
  if err = 0 then
  try
    fDomainName := PSERVER_INFO_503 (buf)^.sv503_domain;
  finally
    NetAPIBufferFree (buf)
  end;
  result := fDomainName;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := GetDomainName;
end;
@luckie
Deine methode aus NetWorkInfo hab ich auch zum laufen gebracht


cya und danke

HaZe :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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