微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – 用于确定应用程序是否在Citrix或终端服务上运行的API

我正在寻找一个API /函数,我可以调用它来确定软件是在Citrix,终端服务还是独立PC上运行.最理想的是,它可以像这样工作:
Select Case APIWhatSystem.Type.ToString
   Case "Citrix"
      bCitrix = True
   Case "TS"
      bTerminalServices = True
   Case "PC"
      bPC = True
End Select

我更喜欢从API调用起作用的东西,而不是在注册表中查看某些内容,因为我们有越来越多的客户正在锁定注册表.

谢谢.

根据: http://forums.citrix.com/message.jspa?messageID=1363711,您可以检查SESSIONNAME环境变量.

Another simpler way is to read the system environment variable “SESSIONNAME”. If it exists and starts with “ICA” then you’re running within a Citrix session. If it starts with “RDP” then you’re running within an RDP session.

我用我的电脑和我在本地测试了它:

C:\>echo %sESSIONNAME%
Console

虽然远程我得到了

C:\>echo %sESSIONNAME%
RDP-tcp1

所以看起来这可能是一个简单的路径,否则听起来像检查注册表值或者如果某些dll存在将是下一个最好的事情.

原文地址:https://www.jb51.cc/vb/255595.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐