チャットモードでオフィスコミュニケーター(Lync 2010)を開くことはできますか?
-
30-09-2019 - |
質問
適切な設定を備えた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);
または、何らかのショートカットを介してチャットモードでリンクを開く別の方法がある場合は?
前もって感謝します。
解決
要件に応じて、最も簡単なのは既存のものを使用することです namectrl ペルソナメニュー - これは、ユーザーのプレゼンスアイコンをホバリングするときにSharePoint(およびDynamics CRMのような他のWebベースのアプリ)に表示されるポップアップメニューです。このメニューを使用すると、ユーザーに電話をかけたり、新しい会話を開始したりすることができます。動作するために、実行しているマシンにオフィスをインストールする必要があります。
例として、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. 。 Automation APIを使用して特定のユーザーとの会話を開く.NET DLLを作成するのは非常に簡単です。
次に、これをcom経由で公開して、JavaScriptから呼び出すことができることを確認する必要があります。繰り返しますが、.NETのcom Interop機能を使用して非常に簡単です。