MSN 6 Programming by Timothy (

After I got my little copy of MSN Messenger 6, I started to look how compatible it would be for "us" programmers.

The first thing I realized was that Microsoft did a awful thing to its IM screens. They had converted it all to XML so it would completely make it useless for the advanced programmers (for example charlim and Msn Plus!). But after that little disappointment I opened up my decompiler to find out what API it hold by itself. And in contrast too everything those people on IRC. Message Boards and news-posting said about: not having an API.

Well, not trying to listen to it I succeeded to find 4 API`s (looks like a LOT of people havenít looked at it before they screamed "the API is gone!". But here is the small dump that I pulled out of MSN Messenger 6.0.0250:

//Messenger Private Type Library
//Version: 1.0

GUID = {53CED51D-432B-45B2-A3E0-0CE2C24235D4};

//Messenger API Type Library
//Version: 1.0

GUID = {E02AD29E-80F5-46C6-B416-9B3EBDDF057E};

//Messenger Dispatch Implementation
//Version: 1.0

GUID = {9071135F-52C4-4D38-A787-2C5367CB5075};

//P4P 1.0 Type Library
//Version: 1.0

GUID = {1FA4B99F-3155-4A26-837B-9734C1297A1B};

After it I started to look if it could be used again, so I opened up the most easy and most common used tool for creating bots aka Visual Basic 6. I opened up my references. But I saw it was still linking to Windows Messenger. Then I thought "why not give it a shot this way" and believe it or not, it just functions great. Or in other words. MSN 6 has got more working APIs in it then MSN 5. Microsoft has fixed it.

A Simple example to get started in MSN 6 programming set your references to the Messenger API Type Library (even if it is linking to WM). And use the following code to get started:


Public WithEvents MSN As Messenger

Private Sub Form_Load()
Set MSN = New Messenger
MsgBox "Hello world, by " & MSN.MyFriendlyName
End Sub

Have fun, and remember: Donít mess with me, mess with MSN messenger

- Timothy - 05/24/03