1

適切な設定の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チャットウィンドウを開く方法を知っている人はいますか?

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

または、ある種のショートカットを使用してチャットモードでLyncを開く別の方法がある場合はどうでしょうか。

前もって感謝します。

4

2 に答える 2

3

要件に応じて、既存のNameCtrlペルソナメニューを使用するのが最も簡単です。これは、ユーザーのプレゼンスアイコンにカーソルを合わせると、SharePoint(およびDynamics CRMなどの他のWebベースのアプリ)に表示されるポップアップメニューです。このメニューを使用すると、ユーザーに電話をかけたり、新しい会話を開始したりできます。動作させるには、実行しているマシンにOfficeがインストールされている必要があります。

例として、Office2007/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>
于 2010-10-25T11:46:58.743 に答える
0

NameCtrlの回答が要件を満たしていない場合は、LyncSDKを試すことができます。AutomationAPIを使用して特定のユーザーとの会話を開く.NETDLLを作成するのは非常に簡単です。

次に、これをCOM経由で公開して、JavaScriptから呼び出せるようにする必要があります。繰り返しになりますが、.NETのCOM相互運用機能を使用すると非常に簡単です。

于 2010-10-25T11:50:12.720 に答える