【问题标题】:Is it possible to get a users timezone for an application hosted by Citrix XenApp?是否可以获得 Citrix XenApp 托管的应用程序的用户时区?
【发布时间】:2011-04-14 18:56:05
【问题描述】:

我有一个通过 Citrix XenApp 托管给世界各地用户的 VB6 应用程序。我正在使用 Windows GetTimeZoneInformation 调用来查找用户的时区,以调整应用程序中显示的某些日期(日期以 GMT 出现在应用程序中)。不幸的是,看起来 GetTimeZoneInformation 获取的是 Citrix 服务器的时区,而不是运行应用程序的用户。是否有基于 Citrix 的解决方案,或者我是否需要更改我的实施?这对于 Citrix 托管的应用程序来说似乎是一个很大的漏洞,因为我想您在使用其他本地化设置时也会遇到同样的问题。

【问题讨论】:

    标签: citrix xenapp


    【解决方案1】:

    您询问的内容应该自动发生:当向 Windows 询问时区时,应用程序不会获得服务器的时区,而是客户端的时区。这是一个good description,它是如何工作的(顺便说一下,PortICA 是 XenDesktop 的一种早期代号)。

    如果它不起作用:客户端时区支持可能会被禁用,或者其他任何事情都可能出错。查看 Citrix 知识库文章 CTX303498 了解可能的解决方案。

    【讨论】:

    • 我调用的方法来自windows kernel32库GetTimeZoneInformation。我们进行了文章中提到的更改,但似乎没有帮助。那篇文章提到了一些将保存数据的注册表项,但我不明白这些数据是否旨在拦截对 GetTimeZoneInformation 的调用。
    • 是的,Citrix 挂钩 API 函数以获取时区并更改返回给调用应用程序的时区。不过,我不知道它们挂钩了哪些 API 函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多