c ++ - Sådan registreres om min tjeneste kører i en TSE-session?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har skrevet en tjeneste, der skal opføre sig på en særlig måde, når du kører på en TSE-server, i session 0 .


Mine opslag på internettet gav mig følgende funktion:


GetSystemMetrics(SM\_REMOTESESSION)


Hvilket vender tilbage TRUE, når min tjeneste kører i en bruger session på TSE-serveren. Det returnerer dog stadig FALSE, når tjenesten køres i sessionen 0.


Som jeg forstår, er GetSystemMetrics mere eller mindre relateret til brugergrænsefladen, så det er fornuftigt, at det ikke vender tilbage TRUE til sessionen 0, da denne session ikke skal tegne noget.


Er der nogen anden måde at pålideligt afgøre, om min tjeneste kører under sessionen 0 og på en TSE-server?


Tak skal du have.


Operativsystemet er Windows 2008-server.

Bedste reference


En hurtig hack er at se om CLIENTNAME og SESSIONNAME miljøvariablerne er indstillet.


Fangen er, at den måske ikke er tilgængelig, når den startes i en separat proces på serveren, men da du er på W2K8, skal du være i orden. [6]