Einzelnen Beitrag anzeigen

UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#4

Re: Computername des Remotedesktop-benuzter herausfiden

  Alt 10. Dez 2004, 15:43
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.
Gruß
UweR
  Mit Zitat antworten Zitat