我可以在聊天模式下打开Office Communicator(Lync 2010)吗?
-
30-09-2019 - |
题
在带有正确设置的胜利/IE环境中,您可以启动.EXE文件。
以下代码运行正常,以启动Microsoft Lync(Office Communicator的新名称)。
...
<a href="#" onclick="fnShellExecute();">start chat</a>
</body>
</html>
<script type="text/javascript">
function fnShellExecute()
{
var objShell = new ActiveXObject("shell.Application");
objShell.ShellExecute("communicator.exe", "", "C:\Program Files (x86)\Microsoft Lync", "open", 10);
}
</script>
但是我无法确定参数(或者如果可能的话)创建一个可以打开Lync客户端的聊天框的快捷键,则可以向另一个可用的用户打开。基本上,我知道谁可以使用,我希望能够(在HTML中)创建一个简单的链接,该链接将打开与该人的聊天窗口(在WPF或Silverlight之外或任何内置控件)。
有人知道如何在JavaScript中调整此行以打开Lync聊天窗口以指定的联系人吗?
objShell.ShellExecute("communicator.exe", "", "C:\Program Files (x86)\Microsoft Lync", "open", 10);
还是还有另一种方法可以通过某种快捷方式在聊天模式下打开Lync?
先感谢您。
解决方案
根据您的要求,最简单的是使用现有的 namectrl 角色菜单 - 这是悬停在用户存在图标上时,它将显示在SharePoint(以及其他基于Web的应用程序)中显示的弹出菜单。此菜单允许您致电用户,启动新的对话等。您需要在正在运行的机器上安装办公室才能工作。
例如,在运行Office Office 2007/2010和IE的任何客户端计算机上尝试此操作。悬停在“您的联系人”文本上以查看角色菜单:
<script>
var sipUri = "your.contact@your.domain.com";
var nameCtrl = new ActiveXObject('Name.NameCtrl.1');
if (nameCtrl.PresenceEnabled)
{
nameCtrl.OnStatusChange = onStatusChange;
nameCtrl.GetStatus(sipUri, "1");
}
function onStatusChange(name, status, id)
{
// This function is fired when the contacts presence status changes.
// In a real world solution, you would want to update an image to reflect the users presence
alert(name + ", " + status + ", " + id);
}
function ShowOOUI()
{
nameCtrl.ShowOOUI(sipUri, 0, 15, 15);
}
function HideOOUI()
{
nameCtrl.HideOOUI();
}
</script>
<span onmouseover="ShowOOUI()" onmouseout="HideOOUI()" style="border-style:solid">Your Contact</span>
其他提示
如果namectrl答案不符合您的要求,则可以尝试 Lync SDK. 。创建一个.NET DLL将非常简单,该DLL使用自动化API与给定用户打开对话。
然后,您需要通过com公开此信息,以确保可以从JavaScript调用它。同样,使用.NET的COM Interop功能非常简单。
不隶属于 StackOverflow