Hallo Niko,
Zitat:
Ich komm da nur leider nicht dran (die .pas habich) (computername)
Welche funktion soll ich nehmen?
ps:
Auf dem server laufen viele sessions!
Mit GetComputername kommst du natürlich nur an deinen eigenen Computernamen dran. Du mußt dir halt die Sessions auflisten und durchlaufen. An bestimmte Infos darfst du auch nur mit ADminrechten dran.
Der folgende Code listete alle Rechenrnamen auf der Sitzungen auf die sich auf dem lokalen Server befinden.
Delphi-Quellcode:
hServer := WTSOpenServer(NIL);
if (hServer <> 0) then begin
if WTSEnumerateSessions(hServer, 0, 1, SessionPtr, nCount ) then begin
WorkPtr := SessionPtr;
for i:=1 to nCount do begin
if WTSQuerySessionInformation(hServer, WorkPtr^.SessionId, WTSClientName, acNameBuff, nByteCount) then begin
sName := StrPas(PChar(acNameBuff));
// in sName steht jetzt der Rechnername drin
WTSFreeMemory(acNameBuff);
end; // if WTSQuerySessionInformation
inc(WorkPtr);
end; // for i:=1 to nCount
end; // if WTSEnumerateSessions(hServer ...
WTSFreeMemory(SessionPtr);
end;
Der Code ist aus ner bestehenden Funktion rauskopiert und geändert worden. Bitte nicht erwarten das er so funktioniert. Er soll auch mehr als Anhaltspunkt dienen wie man sowas macht.