Wie kann eine Anwendung erkennen, dass sie als RemoteApp ausgeführt wird?
RemoteApp-Sitzungen werden auf dem Terminalserver von gestartet RDPINIT.EXE
. Die Anwendung kann also prüfen, ob RDPINIT.EXE der übergeordnete Prozess ist .
Einzelheiten:
Eine Instanz von RDPINIT.EXE wird auf dem Terminalserver für jede RemoteApp-Sitzung eines Benutzers ausgeführt. RDPINIT.EXE wird von USERINIT.EXE als RemoteApp-spezifische Implementierung von USERINIT.EXE geladen. RDPINIT.EXE fungiert als Watchdog zum Starten von RDPSHELL.EXE und zum Überwachen des Startens und Herunterfahrens des Prozesses. RDPSHELL.EXE ist die Shell, die anstelle von EXPLORER.EXE verwendet wird, um die RemoteApp-Funktionalität bereitzustellen. RDPINIT.EXE überwacht den Prozesslebenszyklus von RDPSHELL.EXE und startet ihn neu, wenn er ungewöhnlich beendet wird. RDPSHELL.EXE lädt einen Satz Windows-Ereignishaken auf jeden Benutzerdesktop in der Sitzung. Diese Ereignis-Hooks ermöglichen RDPSHELL.EXE, den Status aller Fenster auf dem Desktop zu überwachen. ...
(von Technet zitiert )