سؤال

في بيئة 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 في وضع الدردشة عبر نوع من الاختصار؟

شكرا لكم مقدما.

هل كانت مفيدة؟

المحلول

اعتمادًا على متطلباتك ، سيكون أسهل استخدام الموجود namectrl قائمة Persona-هذه هي القائمة المنبثقة التي يتم عرضها في SharePoint (وغيرها من التطبيقات المستندة إلى الويب مثل Dynamics CRM) عند تحريكه على أيقونة وجود المستخدمين. تتيح لك هذه القائمة الاتصال بالمستخدم ، وبدء محادثة جديدة وما إلى ذلك. ستحتاج إلى تثبيت Office على الجهاز الذي تقوم بتشغيله حتى تعمل.

على سبيل المثال ، جرب ذلك على أي جهاز يعمل على تشغيل Office 2007/2010 و IE. تحوم فوق نص "الاتصال الخاص بك" لرؤية قائمة persona:

<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 الذي يستخدم واجهة برمجة تطبيقات الأتمتة لفتح محادثة مع مستخدم معين.

ستحتاج بعد ذلك إلى فضح هذا عبر COM للتأكد من أنه يمكن استدعاؤه من JavaScript. مرة أخرى ، واضحة ومباشرة باستخدام ميزات .NET's COM interop.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top