Un tout petit bout de code permettant grace au composant TNetUsers de lister très rapidement la liste des machines sur un domaine.
le composant est fourni dans le zip.
oui et je TriTri ture le source postit..jeune padawane !
..pour le domaine courant :
function GetCurrentProcessEnvVar(const VariableName: string): string;
var
nSize: DWord;
begin
nSize := 0;
nSize := GetEnvironmentVariable(PChar(VariableName), nil, nSize);
if nSize = 0 then
result := ''
else
begin
SetLength(result, nSize - 1);
if GetEnvironmentVariable(PChar(VariableName), PChar(result),nSize)
<> nSize - 1 then
raise
Exception.Create(SysErrorMessage(GetlastError))
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Showmessage(GetCurrentProcessEnvVar('USERDOMAIN'));
end;
je précise qu'il faut indiquer le nom du domaine dans la propriété du composant..ou ajouter un peu de code afin de récupérer le nom du domaine par défaut.
Le test a été effectué sous D7 et windows XP sp1 réseau LAN.
..pour le domaine courant :
function GetCurrentProcessEnvVar(const VariableName: string): string;
var
nSize: DWord;
begin
nSize := 0;
nSize := GetEnvironmentVariable(PChar(VariableName), nil, nSize);
if nSize = 0 then
result := ''
else
begin
SetLength(result, nSize - 1);
if GetEnvironmentVariable(PChar(VariableName), PChar(result),nSize)
<> nSize - 1 then
raise
Exception.Create(SysErrorMessage(GetlastError))
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Showmessage(GetCurrentProcessEnvVar('USERDOMAIN'));
end;
Le test a été effectué sous D7 et windows XP sp1 réseau LAN.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.