我正在寻找一个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环境变量.
原文链接:https://www.f2er.com/vb/255595.htmlAnother 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存在将是下一个最好的事情.