Pregunta

En un entorno Win / IE con la configuración correcta se puede disparar hasta un archivo .exe.

El siguiente código funciona muy bien para arrancar Microsoft Lync (el nuevo nombre para 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>

Pero no puedo trabajar en los parámetros (o si es posible) para crear un acceso directo que abriría el cliente de Lync con la ventana de chat a otra abierta disponible para el usuario. Básicamente sé quién está disponible y quiero ser capaz de crear (en HTML) un enlace sencillo que abrir una ventana de chat a esa persona (fuera de WPF o Silverlight o cualquier de los incorporados en los controles).

¿alguien sabe cómo ajustar esta línea en el javascript para abrir una ventana de conversación de Lync a un contacto especificado?

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

O si hay otra manera de abrir Lync en modo de chat a través de algún tipo de acceso directo?

Gracias de antemano.

¿Fue útil?

Solución

En función de sus necesidades, lo más fácil será utilizar el vigente NameCtrl menú de personaje - este es el menú emergente que se muestra al utilizar SharePoint (y otras aplicaciones basadas en web como Dynamics CRM) cuando se cierne sobre un icono de presencia usuarios. Este menú le permite llamar al usuario, iniciar una nueva conversación, etc. Se necesitaría Office instalado en la máquina que está ejecutando en el fin de que funcione.

A modo de ejemplo, intente esto en cualquier máquina cliente que ejecuta Office 2007/2010 y el IE. Pase el ratón sobre el texto "su contacto" para ver el menú de personaje:

<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>

Otros consejos

Si la respuesta NameCtrl no satisface sus necesidades, puede probar con el Lync SDK . Sería bastante sencillo para crear una DLL .NET que utiliza la API de automatización para abrir una conversación con un usuario determinado.

A continuación, tendría que exponer este a través de COM para asegurarse de que se podría llamar desde JavaScript. Una vez más, bastante sencillo utilizando interoperabilidad COM de .NET cuenta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top