在带有正确设置的胜利/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功能非常简单。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top