Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#39

Re: Angemeldeten Benutzer aus Dienst ermitteln

  Alt 30. Mär 2009, 16:04
Hallo,
also ich verwende inzwischen folgenden Code:
Delphi-Quellcode:
function GetUserName : string;
var
  Token : TJWSecurityToken;
begin
  Token := TJwSecurityToken.CreateWTSQueryUserToken(TOKEN_ALL_ACCESS);
  try
    try
      Result := Token.TokenOwner.AccountName[''];
      AddToLog('Username requested: ' + Result);
    except
      on e : Exception do
      begin
        AddToLog('@GetUsername' + #13#10 + e.Message);
        Result := '';
      end;
      on e : EJWSCLProcessNotFound do
      begin
        AddToLog('No user is loged on');
        Result := '';
      end;
    end;
  finally
    Token.Free;
  end;
end;
Und bei dem Aufruf von „TJwSecurityToken.CreateWTSQueryUserToken(TOKEN_AL L_ACCESS);“ bekomme ich dann folgenen Fehlertext:
Zitat:
An Exception of type EJwsclWinCallFailedException was raised.

(Data was given by programmer and can vary from actual source.)

Source method....: WTSQueryUserToken

Source class.....: TJwSecurityToken

Source file......: JwsclToken.pas

Source line......: 0

GetLastError.....: 7022 ($1B6E)

GetLastErrorMsg..: Die angegebene Sitzung wurde nicht gefunden.



Message : A call to WTSQueryUserToken failed. Session ID: 983551
MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat