加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 检测Citrix“应用模式”?

发布时间:2020-12-15 09:44:26 所属栏目:大数据 来源:网络整理
导读:原谅我可能在这个“应用模式”中使用了错误的术语. 我们的应用程序在启动时遇到问题,即在主窗口启动之前它没有显示任务栏图标,即使在此之前屏幕上有加载进度窗口,登录窗口等. 我们更改代码来修复此问题,但不幸的是,此修复程序在通过Citrix运行应用程序时,现
原谅我可能在这个“应用模式”中使用了错误的术语.

我们的应用程序在启动时遇到问题,即在主窗口启动之前它没有显示任务栏图标,即使在此之前屏幕上有加载进度窗口,登录窗口等.

我们更改代码来修复此问题,但不幸的是,此修复程序在通过Citrix运行应用程序时,现在显示两个图标,一个只有图标而没有文本.

有没有办法让我检测到应用程序是通过Citrix运行的?我不知道正确的术语,但只有应用程序窗口被带到用户桌面,而不是整个远程桌面.

如果重要,该应用程序是用Delphi编写的.

解决方法

不确定如何在delphi中执行此操作,但如果您可以调用user32.dll,并调用该函数:

if (GetSystemMetrics(SM_REMOTESESSION) != 0)
{
   // We are in a remote session
}

这应该告诉您是否在Citrix或终端服务环境中运行.
SM_REMOTESESSION定义为:

#define SM_REMOTESESSION        0x1000

有关GetSystemMetrics api的更多信息,请访问:
Link to msdn

编辑
以下页面描述了如何在delphi中完成上述操作.适用于终端服务的内容也适用于Citrix:

Is your Delphi Application Running under Terminal Services as a Remote Session

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读