FirefoxRocks, Thanks for that link. That is the kind of idea I'm looking for, but I think i've solved my own problem.

I did a bit more digging around the Internet and stumbled upon the Fanatic Forums. I had a look around (its a great place for coding) and found a thread about this exact topic, and sure enough there was code on how to do it! Boy was i excited!

I copied the code and right away it worked! I'll copy the code here for anyone that wants to have a look at it, but this is all from
http://forums.fanatic.net.nz/.
Firstly, declare the following.
CODE
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer
Private Const WM_COPYDATA As Short = &H4AS
Then, Put this code into the same form,
CODE
Public Function VarPtr(ByVal o As Object) As Integer
Dim GC As System.Runtime.InteropServices.GCHandle = System.Runtime.InteropServices.GCHandle.Alloc(o, System.Runtime.InteropServices.GCHandleType.Pinned)
Dim ret As Integer = GC.AddrOfPinnedObject.ToInt32
GC.Free()
Return ret
End Function
Private Structure COPYDATASTRUCT
Dim dwData As Integer
Dim cbData As Integer
Dim lpData As Integer
End Structure
Public Sub SetMusicInfo(ByRef r_sArtist As String, ByRef r_sAlbum As String, ByRef r_sTitle As String, Optional ByRef r_sWMContentID As String = vbNullString, Optional ByRef r_sFormat As String = "{1} - {0}", Optional ByRef r_bShow As Boolean = True)
Dim udtData As COPYDATASTRUCT
Dim sBuffer As String
Dim hMSGRUI As Integer
'Total length can not be longer then 256 characters!
'Any longer will simply be ignored by Messenger.
sBuffer = "Music\" & System.Math.Abs(CInt(r_bShow)) & "\" & r_sFormat & "\" & r_sArtist & "\" & r_sTitle & "\" & r_sAlbum & "\" & r_sWMContentID & "\" & vbNullChar
udtData.dwData = &H547S
udtData.lpData = VarPtr(sBuffer)
udtData.cbData = Len(sBuffer) * 2
Do
hMSGRUI = FindWindowEx(0, hMSGRUI, "MsnMsgrUIManager", vbNullString)
If (hMSGRUI > 0) Then
Call SendMessage(hMSGRUI, WM_COPYDATA, 0, VarPtr(udtData))
End If
Loop Until (hMSGRUI = 0)
End Sub
And then, place these codes whenever you want to change or clear what is being sent to Messenger.
CODE
'Displays song info (MSN Messenger)
Call SetMusicInfo(My.Settings.CurrentArtistPlaying, "Not Passed", My.Settings.CurrentSongPlaying)
CODE
'Clear song info
Call SetMusicInfo("", "", "", , , False)
For some reason, the second variable in 'SetMusicInfo' doesn't pass to Messanger, not that bothers me cause i don't need it! This was tested with Windows Live Messenger 8.1 (Build 8.1.0178.00)
Enjoy!
Comment/Reply (w/o sign-up)