Const WM_COPYDATA As Integer = &H4A Declare Ansi Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer Declare Unicode Function SendMessage Lib "user32.dll" Alias "SendMessageW" (ByVal hWnd As Integer, ByVal MSG As Integer, ByVal wParam As Integer, ByRef lParam As System.IntPtr) As Integer
Sub main() Dim sendMes As New COPYDATASTRUCT Dim str As String = "TestAPP" + ChrW(0).ToString + "Music" + ChrW(0).ToString + "1" + ChrW(0).ToString + "{0} - {1}" + ChrW(0).ToString + "TEST" + ChrW(0).ToString + "TEST" Dim ptr As IntPtr sendMes.lpData = System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(str)) sendMes.cbData = (str.Length + 1) * 2 System.Runtime.InteropServices.Marshal.StructureToPtr(sendMes, ptr, True) SendMessage(FindWindow("MsnMsgrUIManager", Nothing), WM_COPYDATA, Nothing, ptr) System.Runtime.InteropServices.Marshal.FreeHGlobal(sendMes.lpData) System.Runtime.InteropServices.Marshal.FreeHGlobal(ptr) End Sub
Public Structure COPYDATASTRUCT Const dwData As Integer = 1351 Public cbData As Integer Public lpData As System.IntPtr End Structure