アプリケーションがローカルではなくXenDesktopセッションで実行されているかどうかを確認しようとしています。これが私がこれまでに見つけたものです:
現在、HelgeKleinが「アプリがCitrixまたはターミナルサービスで実行されているかどうかを判断するためのAPI」で説明したソリューションと同様のCitrixXenAppセッションを検出するコードがあります。
残念ながら、XenDesktop環境でのそのソリューションは、ローカルコンソールセッションを意味するaWTSClientProtocolType
を返しています。0
同じ質問に答えて、JoshWeatherlyはsessionname環境変数のチェックについて言及しました。
ただし、XenDesktop環境でのクイックコンソールチェックでecho %sessionname%
は、「コンソール」が返されます。
「Detectcitrix「applicationmode」?」からJohn Siblyは、リモートセッション(特にCitrixではない)を検出するためのソリューションを提案しました。
GetSystemMetrics(SM_REMOTESESSION)
ただし、0を返します。これは、ローカルセッションであることも意味します。
XenDesktopセッションであることを検出する方法を知っている人はいますか?あなたが見ることができる限り、私の試みはすべて、セッションがローカルコンソールセッションであるということを返しています。
XenDesktop Express 5.5を使用しており、CitrixReceiverWebプラグインを使用してデスクトップにアクセスしています。