Вопрос

В среде Win / 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 Chat к указанному контакту?

objShell.ShellExecute("communicator.exe", "", "C:\Program Files (x86)\Microsoft Lync", "open", 10);

Или если есть другой способ открыть Lync в режиме чата через какой-то ярлык?

Заранее спасибо.

Это было полезно?

Решение

В зависимости от ваших требований, самый простой будет использовать существующие Namectrl. Persona Menu - это всплывающее меню, которое отображается в SharePoint (и других веб-приложений, таких как Dynamics CRM), когда парят на значок присутствия пользователей. Это меню позволяет вам позвонить в пользователю, начать новый разговор и т. Д. Вам нужен офис, установленный на машине, на котором вы работаете, чтобы он работал.

В качестве примера попробуйте это на любом клиентском компьютере, работающем в офисе 2007/2010 и т. Е. Наведите курсор на текст «Ваш контакт», чтобы увидеть меню «Персона:

<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 не соответствует вашим требованиям, вы можете попробовать ЛИНЦ СДК. Отказ Было бы довольно просто создать .NET DLL, которая использует API автоматизации, чтобы открыть разговор с данным пользователем.

Затем вам нужно будет разоблачить это через COM, чтобы он мог быть вызван от JavaScript. Опять же, довольно простым, используя функции COM Interop .NET .NET.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top