Autor Tema: Ejemplo Add-In para MSN 8  (Leído 10609 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Ejemplo Add-In para MSN 8
« : octubre 12, 2006, 06:13:35 pm »
Como algunos de ustedes se han dado cuenta hablando con vladimir y la posibilidad de mandar mensajes a tu celular cuando estas ausente o lejos de tu computadora llegue a caer al tema de Add-Ins para el MSN8 , esto minimo que es un esfuerzo por la gente de MS por pararsele a el messenger plus que da la posibilidad de hacer plugins para el msn, pero en fin algo bueno siempre sale de todo eso y es que ahora podemos programar muy facilmente para el msn 8 y pues hay un gran mundo de posibilidades de cosas que podemos hacer.

Para el ejemplo se utilizara el sharpdevelop y la .net 2.0 asi como el msn 8.0.0812

Para empezar tienes que habilitar la opcion de Add-In en el MSN8 esto se hace editando un registro el cual se puede hacer facilmente guardando el siguiente codigo en un archivo .reg y posteriormente ejecutandolo.

Código: [Seleccionar]
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger]
"AddInFeatureEnabled"=dword:00000001

Para los que no quieran guardar el codigo simplemente editen por medio del regedit.

Citar
Go to HKCU\SOFTWARE\Microsoft\MSNMessenger and add a DWORD value named AddInFeatureEnabled set to 1.

Esto nos habilitara una opcion nueva en el msn live que se encuentra en las opciones del programa llamada Add-In .

Abrimos posteriormente el sharpdevelop y nos vamos a la opcion de crear una nueva solucion, elegimos la carpeta de C# y el tipo de proyecto de Biblioteca de Clases.

Código: [Seleccionar]
using System;
using System.Collections.Generic;

namespace ejemplomsn8
{
/// <summary>
/// Description of MyClass.
/// </summary>
public class MyAddIn
{

}
}

Hacemos click derecho en las referencias y le damos click a la opcion add reference o agregar referencia.
Seleccionamos la pestaña de visor de ensamblados .net
Y por medio del boton explorar navegamos hacia la carpeta en donde esta instalado el MSN Messenger y elegimos la MessengerClient.dll

Agregamos
Código: [Seleccionar]
using Microsoft.Messenger;
Y modificamos nuestra clase para que utilice la interface IMessengerAddin nos queda algo parecido a lo siguiente:

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using Microsoft.Messenger;

namespace ejemplomsn8
{
/// <summary>
/// Clase de un AddIn para el Messenger Live 8
/// </summary>
public class MyAddIn : IMessengerAddin
{
private MessengerClient MSN;

public void Initialize(MessengerClient messenger)
{
this.MSN = messenger;
    }
}
}

Con solo este codigo ya tenemos una clase que puede hacer uso de las propiedades del Messenger Client ahora le daremos una pequeña funcionalidad para el ejemplo.

Código: [Seleccionar]
/*
 * Created by SharpDevelop.
 * User: rdoggsv
 * Date: 12/10/2006
 * Time: 05:35 p.m.
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using Microsoft.Messenger;
using System.Windows.Forms;

namespace ejemplomsn8
{
/// <summary>
/// Ejemplo de Add-In para MSN Live 8
/// </summary>

public class MyAddIn : Microsoft.Messenger.IMessengerAddIn
{
private MessengerClient MSN;

public void Initialize(MessengerClient messenger)
{
this.MSN = messenger;
MSN.IncomingTextMessage += new EventHandler<IncomingTextMessageEventArgs>(MSN_IncomingTextMessage);
    }

public void MSN_IncomingTextMessage(object sender,IncomingTextMessageEventArgs e){
MessageBox.Show(e.TextMessage,e.UserFrom.Email);
}
}
}

Es un ejemplo que al recibir un mensaje de un usuario me envia un MessageBox con el mensaje en el cuerpo del box y el email de quien me lo envia en el titulo...

Luego el Assembly.cs tiene que ser editado para que concuerde con la clase

Código: [Seleccionar]
[assembly: AssemblyTitle("ejemplomsn8.MyAddIn.")]

Luego Generamos la .dll la agregamos en los Add-In del MSN y dandole click a nuestro nombre de usuario lo podemos habilitar.



Bueno es un breve ejemplo pero ahi les queda para que puedan comenzar a jugar con el MSN 8 y crear sus propios add-ins muchas ideas utiles se vienen a la mente :P


Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #1 : octubre 12, 2006, 06:24:56 pm »
wee gracias rdoggsv!,  :thumbsup:, lo bueno es que podemos aprovechar tu Mensajitos.net por estar en el mismo lenguaje -- así se evita el Shell y quedaría solo como un tipo una modificación a tú codigo.

 :drinks:

PD: aún así quedarian valiendo los del MSN 7.5  :cry: pero otra persona (un amigo) parace que esta haciendo un plugin para el msn plus! de esa version  :mosh:

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ejemplo Add-In para MSN 8
« Respuesta #2 : octubre 15, 2006, 08:49:21 am »
wee gracias rdoggsv!,  :thumbsup:, lo bueno es que podemos aprovechar tu Mensajitos.net por estar en el mismo lenguaje -- así se evita el Shell y quedaría solo como un tipo una modificación a tú codigo.

Hey fijate que comence ayer a programar lo de mensajitos y por falta de tiempo lo pude comenzar a ver realmente hasta ahora domingo, y me encontre con algo bien desagradable :(

Bueno el capturador de excepciones me estaba agarrando esta:

Código: [Seleccionar]
Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Buscando en internet llegue hasta aqui en donde un chero tiene el mismo problema y le contestaron esto:

Citar
The sandbox restricts access to the internet.

Asi que no puedo programar el Add-In para que accese a otros sitios, minimo segun los de mocosoft para que no manden info de tu compu a otros lugares :( , voy a incluir siempre lo del shell ojala que eso no este bloqueado...

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #3 : octubre 15, 2006, 09:05:16 am »
:S como siempre... M$ metiendo la pata.

Eso es lo malo de esos lenguajes .net, al ser manejados por el framework hacen lo que quieren ellos y no lo que les decis.

Por cierto, ya probaste esto:

Cita de: http://support.microsoft.com/?scid=kb%3Ben-us%3B842419&x=12&y=12
Similarly, if you access a Web service in your custom assembly, you must add code that is similar to the following to assert the Web permissions:
Código: [Seleccionar]
System.Text.RegularExpressions.Regex urlRegEx = new System.Text.RegularExpressions.Regex(@"http://www\.webcontinuum\.net/.*");
System.Net.WebPermission p = new System.Net.WebPermission(NetworkAccess.Connect,urlRegEx);

p.Assert();

Parece que necesitas definir el permiso en el assembly, como no te lo da por defecto el template del add-in (supongo por algun razon como la que vos decis)

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ejemplo Add-In para MSN 8
« Respuesta #4 : octubre 15, 2006, 11:13:48 am »
:S como siempre... M$ metiendo la pata.

Eso es lo malo de esos lenguajes .net, al ser manejados por el framework hacen lo que quieren ellos y no lo que les decis.

No eso no es por el framework, es supuestamente porque los add-ins corren bajo ciertos permisos que les da el MSN no agarran todos los privilegios.. (

Citar
Parece que necesitas definir el permiso en el assembly, como no te lo da por defecto el template del add-in (supongo por algun razon como la que vos decis)

Fijate que segui buscando mas información y dicen que lo tengo que firmar el ensamblado y registrarlo en el GAC por lo que no me sale factible ya que los usurios a los que les de el add-in tendrian que estarlo registrando en el GAC y ya sabes como es la mara que quiere hacer el minimo de configuracion :(

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #5 : octubre 15, 2006, 11:40:05 am »
Ni aun con el codigo de la pagina de M$ te deja hacerlo? :(

Bueno ni modo, pero se puede hacer una interfaz CLI del Mensajitos.net y llamarla por shell no?. Mas liviana quizas, porque el XMR toma 15MB por mensaje XD (por supuesto, solo por 10 segundos o menos).

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ejemplo Add-In para MSN 8
« Respuesta #6 : octubre 15, 2006, 12:07:17 pm »
mira voy a dejar un mensajitos.exe solo para mandar los mensajes por shell , algo que no incluya ambiente grafico ni nada de eso, y voy a poner un menu de seleccion de adonde esta el ejecutable que quieren utilizar y voy a dejar la opcion que ocupen el .net o el xmr , los parametros los voy a poner que sean iguales para que sea compatible  :thumbsup:

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #7 : octubre 15, 2006, 01:22:43 pm »
Bien!, creo que desde un principio debimos haber estandarizado las cosas (formatos de agenda, etc.) para que la gente pudiera cambiar con facilidad y cosas asi fueran posibles.

Aunque lastimosamente ya no te insistí en pedir nuevas versiones de Mensajitos.net cuando le pusiste "version final".

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Ejemplo Add-In para MSN 8
« Respuesta #8 : octubre 15, 2006, 01:53:26 pm »
esta bien interesante esta su plaika de 2 ke se tienen, lo ke me llamo la atencion es ke kual es el problema de mandar a llamar la otra aplikacion kon shell (al mejor estilo linux). yo asi hago mis programas kuando no kiero estar integrando en un solo y ya tengo kosas hechas, si sabes ke mandar y sabes ke te va a dar, entonces para mi ke solo le hicieran la tuberia y lo usaran asi, seria komo un add-on externo, klaro ke tendrian ke tener el otro exe para poder korrerlo asi, sorry ke me meta en la platika pero me parecio interesante, no le he metido mucho a aplikaciones windows, kasi solo me he kedado en scripting en linux, ya vi ke tengo ke aprender C#

pero ke bueno esta esto!!
N/A

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #9 : octubre 15, 2006, 02:16:07 pm »
El problema es que el .net limita el uso del internet por la naturaleza de la aplicacion. En este caso la dificultad no es hacer el shell (CLI), si no saber si es permitido o bloqueado de la misma forma que las salidas a internet.

Ahorita se maneja exactamente como sugeris (un .exe externo al add-in), el problema es que eso utiliza recursos adicionales para algo que debería estar "in-line" con el script.

PD: @ rdoggsv, estas son las especificaciones de los parametros del XMR, cualquier sugerencia seria apreciada (de cualquiera).
XMR - Parametros y su uso

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Ejemplo Add-In para MSN 8
« Respuesta #10 : octubre 15, 2006, 02:31:09 pm »
eso si lo entendi, de ke el .net no les permite hacer esa klase de koneccion, y klaro ke seria chivo tener todo inline e intergrado, pero si no sakrifiken un pokito de rekursos y dejenlo via SHELL, ke al fin lo ke se buska es la funcionalidad de la aplikacion, aunke se sakrifike algo komo rekursos del sistema, ke al final no kreo ke sean demasiados.

espero ke superen ese asunto y ke hallen la forma de aplikarle los permisos para la koneccion. ya vi ke son densos en windows programming
N/A

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ejemplo Add-In para MSN 8
« Respuesta #11 : octubre 15, 2006, 05:12:30 pm »
Pues ahorita ya me esta funcionando la conexion a internet y ya mande unos mensajes de prueba por medio del add-in solo estoy firmando la libreria y despues hay que hacer un arrastre de la .dll hacia la carpeta \windows , supongo que esto no es nada dificil para que las personas lo hagan, aunque seguire analizando cual seria la mejor manera  :thumbsup:

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #12 : octubre 15, 2006, 05:31:47 pm »
Un instalador quizas?, el NIS quedaría perfecto.

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Ejemplo Add-In para MSN 8
« Respuesta #13 : octubre 15, 2006, 05:33:25 pm »
Un instalador quizas?, el NIS quedaría perfecto.
eso misma pensaba yo, in installer. una pregunta.

les molesta ke meta mi kuchara en esto?
N/A

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Ejemplo Add-In para MSN 8
« Respuesta #14 : octubre 15, 2006, 05:39:18 pm »
es un foro Naruto  :thumbsup:, así que no es platica de dos, sino estaríamos en el msn y no acá.