【发布时间】:2013-08-15 23:06:01
【问题描述】:
我有一个 .NET 应用程序,出于许可原因,我需要禁止在终端服务服务器上运行它。我知道SystemInformation API 可以确定程序是否在远程会话下运行(例如this question 中有详细说明)。但是,该 API 无法区分在具有 2 个允许的远程桌面会话的普通服务器上运行的应用程序和可能在其上运行 500 个会话的成熟终端服务器。
是否有一种简单的编程方式可以确定应用程序是否在全功能终端服务器上运行?
我可以假设超过 2 个允许的会话意味着一个完整的终端服务器,如果需要的话,我也可以使用 P/Invoke。
【问题讨论】:
-
我很好奇这些信息会有什么帮助。我不知道 RDS API 中有什么会暴露这一点。您可能会检查服务器是否配置了 RD 许可服务器。
-
@DanPorts - 该信息将很有帮助,因为该软件无法在终端服务环境中使用是一项业务需求。
标签: c# .net terminal-services