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