Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2009
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Mira... la API de Windows Live Messenger en la actualidad tiene ciertas limitaciones en cuanto a que se puede hacer y que no por la abundancia de virus y malware del pasado, por lo que a la "buena manera" hay cosas que no se pueden hacer llamando a ciertas funciones de la API de WLM. Habría que construir un componente o una DLL propia para poder hacer todas las tareas que se quieran.

Microsoft no ha documentado mucho como trabajar directamente con las API's, exceptuando sus SDK que ha liberado y las SDK que el autor de Messenger Plus! Live ha liberado, pero en este caso, dependes de su propio script para realizarlas. También hay una librería que se ha creado, pero es sólo compatible para entornos de desarrollo que soporten librerías .NET (no sirve para Delphi for Win32 y tampoco importándola en Delphi 2009 y se supone que Delphi 2009 soporta importaciones de Assemblies que sean .NET, pero bueno... del dicho al hecho hay mucho trecho ).

Las librerías .TLB para manipular las interfaces, funciones, procedimientos, etc de WLM en forma más incómoda se encuentran como recurso en el archivo msnmsgr.exe de la carpeta de instalación de Windows Live Messenger, las cuales debes exportarlas en formato .tlb y luego importarlas en tu IDE de Delphi, son actualmente 8 librerías para manipular diversas tareas. Mira el siguiente screenshot:




Por ejemplo, esta librería se refiere a todo lo relacionado con instalar contenidos para MSN, tales como iconos gestuales, avatares, etc mediante paquetes .CAB para cuentas de Messenger que estén actualmente conectadas en ese PC. La limitación de este, es que la API sólo admite la instalación desde un protocolo HTTP, y no desde un archivo local del disco duro (yo creo que Microsoft la ha limitado por seguridad, es obvio).







Estas librerías TLB no están documentadas por Microsoft (por lo menos yo no no he encontrado info en Microsoft ni en MSDN ni en sitios relacionados con Windows Live Messenger), he tenido que aprender solo de ellas y tambien con la ayuda de MSN Forums Fanatic.

Ahí te paso el dato, ahora es tu tarea investigar como se manipulan las interfaces y funciones

Cordiales saludos y espero que esta info te sirva

Última edición por Black_Ocean fecha: 12-02-2009 a las 07:16:42.
Responder Con Cita
  #2  
Antiguo 12-02-2009
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Cool

He hecho un pequeño ejemplo de como instalar contenidos utilizando la API de Messenger en cuentas de usuarios de Windows Live Messenger abiertas en el PC (en este caso, instalaremos emoticonos)

IMPORTANTE!!! Recuerden que antes de hacer todo esto, tienen que extraer la librería .TLB número 7 del ejecutable msnmsgr.exe como lo expliqué en el post #5 de este tema e importala en su IDE de Delphi. No se les vaya a olvidar :P

Primer paso: Crear un archivo content.xml con el bloc de notas con estas características (importante que vean y lean detenidamente la estructura del archivo .xml para entenderlo):

Código:
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://messenger.msn.com/messengercontent/1.0" version="1.0" type="theme">
  <item xmlns="" xmlns:emoticon="http://messenger.msn.com/emoticon/1.0" contentid="ConCon1" contenttype="P" type="emoticon" emoticon:namespaceprefix="Untitled" mimetype="image/gif" file="emo1.gif" emoticon:displayname="emo_1" emoticon:keysequence="emo_1"/>
  <item xmlns="" xmlns:emoticon="http://messenger.msn.com/emoticon/1.0" contentid="ConCon2" contenttype="P" type="emoticon" emoticon:namespaceprefix="Untitled" mimetype="image/gif" file="emo2.gif" emoticon:displayname="emo_2" emoticon:keysequence="emo_2"/>
</package>
Segundo paso: Crear un archivo .CAB que contenga el archivo content.xml más los dos archivos .gif que especifiqué en el archivo .xml (emo1.gif y emo2.gif). Pueden incluir más archivos .GIF si es que lo requieren, pero con cada archivo .GIF que agreguen deberán también especificarlo en el archivo .XML como lo señalé en el primer paso (para crear paquetes .CAB, bajar la utilidad que se llama Cab Maker v2.0)

Tercer paso: Subir el archivo .CAB a un servidor HTTP para que pueda ser descargado porsteriormente.

Cuarto paso: Como ejemplo, crear un nuevo proyecto en delphi con un formulario y un botón. En el evento OnClick del botón insertar el siguiente código (fijarse en la declaración del USES de la implementación y en el método del evento OnClick del botón, que no se les olvide ):

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  MessengerContentInstallerLibrary_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
  IMessCont: MessengerContentInstaller;
begin
  IMessCont := MessengerContentInstaller(CoMessengerContentInstaller.Create);
  IMessCont.InstallContent('http://www.miservidor.com/archivo.CAB');
end;

end.

Quinto paso: con una cuenta activa y abierta en Windows Live Messenger, ejecutar el proyecto y apretar en el botón del formulario verán que los emoticonos del archivo .CAB que creamos y subimos a internet se habrán agregado en la sesión de mensajería actual que este abierta de Windows Live Messenger

He dejado adjunto a este post un archivo .CAB de ejemplo para que hagan pruebas ustedes mismos (le he cambiado la extensión a .zip porque ClubDelphi no acepta archivos con extensión .cab adjuntos. Cuando lo bajen, cámbiar la extensión a .CAB)


Cordiales saludos!!!
Archivos Adjuntos
Tipo de Archivo: zip archivo.zip (7,9 KB, 29 visitas)

Última edición por Black_Ocean fecha: 13-02-2009 a las 20:18:06.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
delphi y ms messenger `````` alejo000 Internet 9 16-02-2009 19:16:02
Eliminar Messenger rafita Windows 11 16-01-2008 19:30:13
crear messenger Soriano Internet 2 22-08-2007 21:18:57
Muñequitos de messenger mamcx Debates 10 10-02-2007 21:04:08
Messenger ListBOx?? vtdeleon OOP 2 10-02-2005 14:09:48


La franja horaria es GMT +2. Ahora son las 11:44:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi