Shoutbox

Developing for MSN Messenger. - 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: Developing for MSN Messenger. (/showthread.php?tid=84040)

Developing for MSN Messenger. by Hen on 05-31-2008 at 03:24 PM

Hi,
I have posted a smiliar question, which was on the bottom of some previous post with no answers, so I posted a new one.

I want to develop software for msn microsoft, and when googling, I find all sorts of answers. I didnt understand yet if it is offcialy supported by microsoft or not.
Here is an sdk for messenger, but its from 2006. Some people told me its not supported any more.
http://www.microsoft.com/downloads/details.aspx?F...934&DisplayLang=en

Then I came here, and it says its not longer supported:
http://msdn.microsoft.com/en-us/library/bb229407.aspx

I thought maybe here I can get an answer, but I got lost:
http://dev.live.com/
There is the messenger sdk, but as I understood, its only to implement messenger on web site.
Then there is the Microsoft Live ID. Maybe its the answer for me, but I dont know, didnt understand yet.
More related to the sdk subject is on:
http://msdn.microsoft.com/en-us/library/bb264574.aspx

I want to have a nice development environment, something official (pay money if need to), where I can write programs that can use Messenger functions such as send and receive message. Be able to read message content, know who the sender is, etc'. Basiclly its the API, but I didnt find any official source that is up to date.
You can set under reference in visual basic the "Messenger type library", but then you need to rely you have the correct version, you dont really know what you have etc'.
Is there anything organized outhere, just like the great MSG PLUS, only for messenger?

At first I thought of learning the protocol (which is well published over the net), and then use a different port (I want to use this software that I write while messenger is working, so cant use same port, I think), but it might be impossible (correct me if I wrong).
I am SURE its possible, beacuse of many third party programs available out there, like MSG PLUS for instance.
Any help guys?
Thanks.


RE: Developing for MSN Messenger. by vikke on 05-31-2008 at 04:40 PM

MsgPlus! uses lots of different ways to gather information from Messenger. Mainly it uses the Messenger API (which is working somewhat) plus some hidden extras (to retrieve the contact-list). It also uses API-hooking on the Winsock functions (send & recv) to receive different types of events. To add the button/skinning, it applies API-hooks onto the Win32 Resource API (LoadResource, FindResourceExW, LockResource, SizeofResource), to modify the resources loaded from msgsres.dll. And finally it replaces the richedit-interface so that colors, formatting can be inserted plus quick-texts etc. These aren't really the details, however it's pretty advanced.

There are some examples and much more help over at the MSNFanatic forums. Go look there, TheSteve has created a type-library which allows you to use the Messenger API without having to install Windows Messenger.


RE: RE: Developing for MSN Messenger. by Hen on 06-01-2008 at 07:35 AM

quote:
Originally posted by vikke
MsgPlus! uses lots of different ways to gather information from Messenger.
There are some examples and much more help over at the MSNFanatic forums. Go look there, TheSteve has created a type-library which allows you to use the Messenger API without having to install Windows Messenger.

First - Thanks.
This site looks like it has a lot to offer.
Second, also there, when users asked for links or info on sdk for messenger, they got no answer.
It seems, the only help is unofficial, and is from nice people like you.
I didnt spend yet enough time in the msdn links I wrote before. Maybe there are some stuff there that can help.
Thanks.
RE: Developing for MSN Messenger. by vikke on 06-01-2008 at 11:18 AM

Using this type-library, you can use the official Messenger SDK. It's pretty limited though. Here's outdated information about the SDK, please note that not close to all functions mentioned there is going to work (because Messenger dropped support for them a while ago). You can combine this SDK with the general Win32 SDK, to send messages for example, here's an example.

By hooking Winsock (or creating some kind of proxy), you unofficially can read/intercept the Messenger session between the server and the client. Using this method, you can get a lot of events, but unfortunately all interception won't show inside Messenger (like modification of messages sent to your contacts). To do this, you would need to know the Messenger protocol, here's unofficial documentation. The best way to hook winsock is to use API-hooking techniques to hook the send/recv functions (this is also what MsgPlus! does). This article covers what you need to know to inject your own DLL into Messenger's address-space and apply hooks to its functions (with easy modifications, you can hook winsock).

Edit: The "add-in" API was a hidden feature in a WLM beta version. It was a very powerful SDK for the .NET platform, however they dropped support for it. These other APIs on that MSDN page aren't for Messenger, but for the Messenger service.


RE: Developing for MSN Messenger. by Hen on 06-04-2008 at 04:43 PM

Thank you very much for now.
I am learning your answer those days, and will ask more questions when I'll learn more.
Thank you.


RE: RE: Developing for MSN Messenger. by vikke on 06-04-2008 at 08:18 PM

quote:
Originally posted by Hen
Thank you very much for now.
I am learning your answer those days, and will ask more questions when I'll learn more.
Thank you.
Feel free to ask about any problem you run into and I'll see if I can help. :)