一、发送端
// 窗体:发送端
public partial class SendForm : Form
{public SendForm(){InitializeComponent();}// 按钮:发送private void btnSend_Click(object sender, System.EventArgs e){IntPtr hwnd = User32Helper.FindWindow(null, "接收端");int msg = 0x0401; // 自定义消息IntPtr param = new IntPtr(10); //自定义参数User32Helper.SendMessage(hwnd, msg, param, IntPtr.Zero);}
}
二、接收端
// 窗体:接收端
public partial class ReceiveForm : Form
{public ReceiveForm(){InitializeComponent();}// 重写方法:窗体消息protected override void WndProc(ref Message m){switch (m.Msg){case 0x0401: // 自定义消息textBox1.Text = m.WParam.ToString(); //自定义参数break;}base.WndProc(ref m);}
}
三、帮助类
internal class User32Helper
{[DllImport("User32.dll", EntryPoint = "FindWindow")]public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport("User32.dll", EntryPoint = "SendMessage")]public static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
}