【问题标题】:Change Lync status on logout注销时更改 Lync 状态
【发布时间】:2011-03-23 14:31:06
【问题描述】:

我有一个自定义 Lync 应用程序,用于更改用户的状态/状态。对于该应用程序,Lync 在某些计算机上的隐藏 UI 上运行,而在其他计算机上不运行。我希望它提示用户“您想将您的状态更改为 'Out' 吗?”如果他们正在执行系统关闭或注销并且他们的状态设置为“In”。然后,如果他们愿意,它将改变他们的状态并将他们注销/关闭。问题是,当他们注销/关闭时,它会终止 Lync 进程,然后我需要再次启动它,然后才能更改他们的状态。

【问题讨论】:

  • 什么是“out”和“in” - 这些自定义存在状态是什么,或者它们是否映射到标准 Lync 状态,例如输入=“活动”,输出=“离线”?
  • 你是如何捕获注销/关闭事件的?
  • In = ContactAvailability.Free,Out = ContactAvailability.Away 例如。我有一个将 ContactAvailability 映射到我自己的状态枚举的映射。
  • 我正在使用 FormClosing 事件并为表单覆盖 WndProc。

标签: windows logout system-shutdown lync-2010 lync


【解决方案1】:

如果您将输入/输出状态映射到标准 Lync 状态,则无需在注销/关闭时显式发布状态。当用户从计算机注销时,Lync 应自动将状态设置为脱机 - 因此,如果状态映射为“Out”,则用户应自动设置为您的“Out”状态

除非我误解了什么......

编辑——好的,我明白你为什么现在需要捕获关闭事件——提示用户在他们退出时设置注释。我不认为你可以用 Lync API 做任何事情来解决这个问题。正如您所说,问题是您的应用程序收到通知它正在关闭,但是到那时已经太晚了,因为 Lync 本身也被告知要关闭,因此不能保证您可以要求它更改用户注释状态。

我认为你能做的最好的就是使用 Win32 ShutdownBlockReasonCreate 函数 - 有一个从托管代码 here 中使用它的示例。不幸的是,它仅在 Vista 或更高版本中受支持。

【讨论】:

  • 除了简单的“外出”状态,我们希望用户输入他们是否“外出吃午饭”、“今天走了”、“周末走了”等(他们可以从下拉列表中进行选择)。这将被输入到个人备注字段中(很抱歉我没有提及)。它让我们的接待员更好地了解人们在哪里。
猜你喜欢
  • 2013-04-19
  • 2018-06-06
  • 2019-06-09
  • 2018-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多