首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Lync SDK覆盖Lync状态

使用Lync SDK覆盖Lync状态
EN

Stack Overflow用户
提问于 2016-03-29 07:46:06
回答 1查看 429关注 0票数 0

我正在使用Lync SDK开发一个wpf应用程序,该应用程序位于我使用远程桌面会话访问的windows 2012R2服务器上。我正在尝试使登录的lync帐户始终可用,即使没有用户登录到计算机也是如此。

我设置了一个计时器,每15秒运行一次以下代码:

代码语言:javascript
复制
if (client.State == ClientState.SignedIn)
{
    counter++;
    Console.WriteLine("Account is green: " + counter);
    Dictionary<PublishableContactInformationType, object> status = new Dictionary<PublishableContactInformationType, object>();
    status.Add(PublishableContactInformationType.Availability, Microsoft.Lync.Controls.ContactAvailability.Free);
    client.Self.BeginPublishContactInformation(status, PublicationCallback, time);
    Console.WriteLine(client.Self.Contact.GetContactInformation(ContactInformationType.Activity));
}

虽然这确实会将用户的状态设置为在有人登录时可用(即使没有人在使用计算机),但只要我从远程桌面会话断开连接(服务器锁定但仍在运行),状态就会变为离开。

有没有什么方法可以让我忽略计算机是否锁定?

EN

回答 1

Stack Overflow用户

发布于 2016-03-31 04:50:25

让它忽略锁定是由一个完全不同的解决方案解决的,这需要两个不同的东西:

首先,我必须使用命令提示符脚本来离开,而不是仅仅关闭我的远程桌面会话。在命令提示符中键入以下命令以注销:

代码语言:javascript
复制
tscon [YOUR SESSION ID] /DEST:console

您可以通过查看Windows任务管理器的用户页面来查找您的会话ID (它可能是隐藏的,因此您必须显示它)。

其次,你必须让你的键盘偶尔移动。有许多脚本可以做到这一点,但我发现我喜欢这个,因为它切换numlock,使计算机在被触发时仍然可以使用。

代码语言:javascript
复制
Dim objResult

Set objShell = WScript.CreateObject("WScript.Shell")    
i = 0

Do While i = 0
  objResult = objShell.sendkeys("{NUMLOCK}{NUMLOCK}")
  Wscript.Sleep (6000)
Loop

将其保存在.vbs文件中,并在离开计算机之前运行它。这将防止因未使用而触发的任何睡眠。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36273080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档