Hi Keith,
sure I can post the code. ;) Here it is:
/** In my sending form **/
public const int WM_COPYDATA = 0x004A;
// this is the data to be send
[StructLayout(LayoutKind.Sequential)]
public struct CopyDataStruct {
public string ID;
public int Length;
public string Data;
}
CopyDataStruct DataStruct = new CopyDataStruct();
DataStruct.ID = 1;
DataStruct.Data = "Sample Text";
DataStruct.Length = DataStruct.Data.Length;
IntPtr WHnd = FindWindow( null, "TestForm");
// that works fine
SendMessage( WHnd, WM_COPYDATA, this.Handle, DataStruct);
/** In my receiving form **/
protected override void WndProc (ref Message m) {
switch (m.Msg) {
case WindowMessaging.WM_COPYDATA:
// Here is nothing happens!! A message with that command seems
// never be arrived
CopyDataStruct DataStruct = (CopyDataStruct) m.GetLParam (typeof
CopyDataStruct));
string s = DataStruct.Data;
break;
default:
base.WndProc(ref m);
break;
}
}
That's it! Hope you have an idea!
Curiously is if I send a message with my own message command I can handle
it!!
Thanks and Regards,
Jan
You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.