Vielen Dank für die Antworten.
Der Weg über GetSystemMetrics ist schon mal nicht schlecht. Eine allgemeine Aussage Terminalsitzung ja/nein lässt sich damit tätigen, aber leider nicht, ob das Programm in einer Citrix-Umgebung läuft. Ein anderer Tipp bezog sich auf die Umgebungsvariablen, daher sieht meine Implementation jetzt so aus:
Delphi-Quellcode:
const
ENVIRONMENT_VARIABLENAME = 'SESSIONNAME';
function IsICASession: boolean;
var Sessionname: string;
begin
SetLength(Sessionname, 8 * 1024);
SetLength(Sessionname,
Windows.GetEnvironmentVariable(PChar(ENVIRONMENT_VARIABLENAME),
PChar(Sessionname),
Length(Sessionname)));
result := Pos('ICA-', Uppercase(Sessionname)) <> 0;
end;
Gruß,
Arno