Если вы проверите эти ТАК вопросы, я думаю, что на ваш вопрос ответят.
Они могут не относиться конкретно к delphi, но утвержденный ответ для второго дает ссылку на веб-сайт MSDN.
как к программно-сказать-если-The-терминал-сервер-сервис является выполняющимся
как-ду-я-говорю-если-мое-приложение-это-обкатка-ан-Rdp-сессии
Или другой быстрый поиск в Интернете показал этот фрагмент кода. (Это не мой код)
function ProcessIdToSessionId(dwProcessId: DWORD; pSessionId: DWORD): BOOL; stdcall; external 'kernel32.dll';
function GetSessionIdfromProccessId(const processId: DWORD; var sessionId: DWORD): boolean;
begin
result:=ProcessIdToSessionId(processId, DWORD(@sessionId));
end;
function GetCurrentSessionId: DWORD;
begin
if not GetSessionIdfromProccessId(GetCurrentProcessId,result) then
result:=0;
end;
Похоже, что результат GetCurrentSessionid <> 0 означает, что вы работаете под TS.
НТН.