我有一个 .NET 应用程序,出于许可原因,我需要禁止在终端服务服务器上运行它。我知道SystemInformation
用于确定程序是否在远程会话下运行的 API(例如,如本问题中所述)。但是,该 API 不区分在具有 2 个允许的远程桌面会话的普通服务器上运行的应用程序和可能在其上运行 500 个会话的成熟终端服务器。
是否有一种简单的编程方式可以确定应用程序是否在完整的终端服务器上运行?
我可以假设超过 2 个允许的会话意味着一个完整的终端服务器,如果需要的话,我也可以使用 P/Invoke。