Shoutbox

How to make an emoticon pack? - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Skype & Technology (/forumdisplay.php?fid=9)
+---- Forum: Skype & Live Messenger (/forumdisplay.php?fid=10)
+----- Thread: How to make an emoticon pack? (/showthread.php?tid=66089)

How to make an emoticon pack? by Luigi on 09-11-2006 at 09:15 AM

Does someone know how to make an emoticon pack?
An installer that automatically loads some emoticons in Windows Live Messenger?
Thanks a lot :$


RE: How to make an emoticon pack? by RaceProUK on 09-11-2006 at 11:29 PM

Emoticon packs are just CAB files with a manifest file inside (like a Java Archive is a ZIP file with a manifest inside). I'm afraid I can't help you with the manifest file, but there should be some info around the 'Net somewhere.


RE: How to make an emoticon pack? by deAd on 09-12-2006 at 12:35 AM

http://forums.fanatic.net.nz/index.php?showtopic=11712


RE: How to make an emoticon pack? by Luigi on 09-13-2006 at 10:35 AM

Thank you very much!
I finally can have my emoticons in a pack, so I won't need to add them manually every time. :D


RE: How to make an emoticon pack? by Luigi on 09-14-2006 at 05:10 PM

Well, ehr, so once I maked the pack I should use another program (maybe self-made) to add the content to msn?
It's not as easy as I thought. :(


RE: How to make an emoticon pack? by RaceProUK on 09-15-2006 at 02:07 PM

You need to write a small app that uses the ContentInstaller API in messenger. I'll post you the API info later if you like (I don't have PE Explorer at work, but I do at home).
Here it is:

code:
//Messenger Content Installer Type Library
//Version: 1.0
MessengerContentInstallerLibrary;
GUID = {C1637F37-3FC8-4B37-B3B2-6CC5E202390D};


Dispatch DMessengerContentEvents;
GUID = {51A01E38-7505-401B-ABC9-F460E1499728};
  function OnContentInstalled(lhrResult: I4); stdcall;

//Single Click Download Interface
Dispatch IMessengerContent;
GUID = {83B2A407-22B9-4842-97C6-DE30EC6DAC3E};
  function QueryInterface(riid: ^GUID; out ppvObj: ^^VOID); stdcall;
  function AddRef: UI4; stdcall;
  function Release: UI4; stdcall;
  function GetTypeInfoCount(out pctinfo: ^UINT); stdcall;
  function GetTypeInfo(itinfo: UINT; lcid: UI4; out pptinfo: ^^VOID); stdcall;
  function GetIDsOfNames(riid: ^GUID; rgszNames: ^^I1; cNames: UINT; lcid: UI4; out rgdispid: ^I4); stdcall;
  function Invoke(dispidMember: I4; riid: ^GUID; lcid: UI4; wFlags: UI2; pdispparams: ^DISPPARAMS; out pvarResult: ^Variant; out pexcepinfo: ^EXCEPINFO; out puArgErr: ^UINT); stdcall;
  //Download content to the client from a CAB file.
  function InstallContent(bstrURL: BSTR); stdcall;
  //Download content to the client from a Merchant CAB file.
  function InstallIndirectContent(bstrURL: BSTR); stdcall;

//Single Click Download Interface v2
Dispatch IMessengerContent2;
GUID = {647C4DDA-B572-4EEF-871A-7ED254E680F7};
  function QueryInterface(riid: ^GUID; out ppvObj: ^^VOID); stdcall;
  function AddRef: UI4; stdcall;
  function Release: UI4; stdcall;
  function GetTypeInfoCount(out pctinfo: ^UINT); stdcall;
  function GetTypeInfo(itinfo: UINT; lcid: UI4; out pptinfo: ^^VOID); stdcall;
  function GetIDsOfNames(riid: ^GUID; rgszNames: ^^I1; cNames: UINT; lcid: UI4; out rgdispid: ^I4); stdcall;
  function Invoke(dispidMember: I4; riid: ^GUID; lcid: UI4; wFlags: UI2; pdispparams: ^DISPPARAMS; out pvarResult: ^Variant; out pexcepinfo: ^EXCEPINFO; out puArgErr: ^UINT); stdcall;
  //Download content to the client from a CAB file.
  function InstallContent(bstrURL: BSTR); stdcall;
  //Download content to the client from a Merchant CAB file.
  function InstallIndirectContent(bstrURL: BSTR); stdcall;
  //Messenger version
  property-get Version: BSTR; stdcall;

//Single Click Download Interface v3
Dispatch IMessengerContent3;
GUID = {DE72ACCE-9D1D-4484-8A5E-5C5B517153CC};
  function QueryInterface(riid: ^GUID; out ppvObj: ^^VOID); stdcall;
  function AddRef: UI4; stdcall;
  function Release: UI4; stdcall;
  function GetTypeInfoCount(out pctinfo: ^UINT); stdcall;
  function GetTypeInfo(itinfo: UINT; lcid: UI4; out pptinfo: ^^VOID); stdcall;
  function GetIDsOfNames(riid: ^GUID; rgszNames: ^^I1; cNames: UINT; lcid: UI4; out rgdispid: ^I4); stdcall;
  function Invoke(dispidMember: I4; riid: ^GUID; lcid: UI4; wFlags: UI2; pdispparams: ^DISPPARAMS; out pvarResult: ^Variant; out pexcepinfo: ^EXCEPINFO; out puArgErr: ^UINT); stdcall;
  //Download content to the client from a CAB file.
  function InstallContent(bstrURL: BSTR); stdcall;
  //Download content to the client from a Merchant CAB file.
  function InstallIndirectContent(bstrURL: BSTR); stdcall;
  //Messenger version
  property-get Version: BSTR; stdcall;
  //Install content to the client from XML data.
  function InstallMobileContent(bstrXML: BSTR); stdcall;

//Messenger Content Installer Object
CoClass MessengerContentInstaller;
GUID = {F06608C7-1874-4EEA-B3B2-DF99EBB144B8};

RE: How to make an emoticon pack? by aNILEator on 09-15-2006 at 04:02 PM

aapie made a content installer didn't he?