Sv Community El Salvador
Soporte y Tecnología => Programación => .NET => Topic started by: rdoggsv on October 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.
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.
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.
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
using Microsoft.Messenger;
Y modificamos nuestra clase para que utilice la interface IMessengerAddin nos queda algo parecido a lo siguiente:
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.
/*
* 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
[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.
(http://img470.imageshack.us/img470/5527/muestraip9.jpg) (http://imageshack.us)
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
-
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:
-
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:
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:
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...
-
: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:
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:
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)
-
: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.. (
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 :(
-
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).
-
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:
-
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".
-
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!!
-
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 (http://xmr.bolhost.com/index.php?showtopic=78)
-
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
-
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:
-
Un instalador quizas?, el NIS quedaría perfecto.
-
Un instalador quizas?, el NIS quedaría perfecto.
eso misma pensaba yo, in installer. una pregunta.
les molesta ke meta mi kuchara en esto?
-
es un foro Naruto :thumbsup:, así que no es platica de dos, sino estaríamos en el msn y no acá.
-
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:
Si.. Yo XD LOL... he estado leyendo el manual q te dan el el site.. pero kiero buscar mas info sobre Jscript.. se aceptan manuales renkastle666@hotmail.com XD
-
Hola esta sobre "Luego Generamos la .dll la agregamos en los Add-In "
Genero la dll, pero a que carpeta le pongo??
en Windows????
-
Hola esta sobre "Luego Generamos la .dll la agregamos en los Add-In "
Genero la dll, pero a que carpeta le pongo??
en Windows????
Solo la agregas en los add-in ahi en el boton que tiene el live msn, si queres que tenga mas privilegios de los normales en el live msn tenes qeu copiar tambien la ddl a windows\assembly , algo asi me acuerdo que era.
Esto de los add-ins lo termine dejando olvidado ya que es bien limitante con las cosas que podes hacer XD
Aqui esta un ejemplo que redireccionaba los mensajes a el celular
http://www.svcommunity.org/forum/index.php?topic=17759.0
http://www.svcommunity.org/forum/index.php?topic=17830.0
Otro proyecto tambien olvidado :p nunca me fue util tambien que mi celular es de telefonica :(
-
Horale.... Lo que yo trato de hacer es que al Messenger de algunos empleados solo le puedan agragar contactos del dominio de la empresa "@empresa.com.mx"
Alguna idea de que puedo hacer......????
-
Pues el add-in lo pueden deshabilitar los usuarios por lo que no creo que eso sea lo que este s buscando , la verdad nunca he visto una solucion a ee problema esta interesante de averiguar
-
Pues yo tengo una aplicacion, pero es una aplicacion windows que correo en modo oculto, esta aplicacion chequea cada 5 segundos tu lista de usuarios y te bloquea aquellos que no sean del domino de la empresa......
Igual captura el evento de agregar usuario a la lista, inicio de platica e inclusion de un contacto mas a una platica existente, y si el usuario nuevo no es del domino igual te lo bloquea...
Tamb puse la opcion de que si le das bloquear a un suario de la empresa no te deje, asi como que no te deje desbloquear a contacots no de la empresa...
Pero pues todo esto es una aplicacion que se inicia junto con windows y pues, esto lo pueden envitar entrando al administrador de tareas y cerrando la aplicacion de la lista de tareas.. igual desinstalan la aplicacion y pueden platicar a sus hanchas....
Por esa razon no me aceptaron esa solucion (ji)
Quieren que mejor haga un chat ...
Aunque el chat esta casi listo me quedé con la duda de si se podra hacer algo para el bloqueo de contactos en messenger....aparte de lo que ya te comente que tengo...
Si quieres ver el codigo que utilizé para eso me dices y lo pongo..
-
Que bien se escucha el programa que desarrollastes, y no te dejaron que por ejemplo el programa corriera como programa del sistema y que las cuentas de los usuarios fueran de invitados ?? , asi tal vez no podrian cerrar tu programa y tampoco podrían desinstalarlo.
Porque la verdad si se escucha que le hicistes muchas cosas.
-
Pues yo les comenté eso, y como que no... Se me hace que lo que a fuerzas quieren es el chat... Les gusta hacer sufrir al programador jajaa.....
-
Pero programas de chat se encuentran bastantes en internet ya listos para ocupar, tal vez no deberias de molestarte en crear uno para eso, aunque no son tan dificiles :thumbsup: , claro dependiendo de que tanto detalle le pongas x_x
-
O porque no unis los dos ejecutables (tu programa y el del MSN) para que se inicie siempre que abran el MSN? XD
http://www.elitec0ders.net/misc.htm