C#进程间通信:[3]自定义消息

 时间:2024-10-15 02:20:39

本文介绍在C#中如何使用和自定义Windows消息实现进程间的通信,并传递一个字符串类型。

C#进程间通信:[3]自定义消息

2、修改主窗体,布局如下:

C#进程间通信:[3]自定义消息

4、添加公开类Win32Api,代码如下:public class Win32Api { #re爿讥旌护gion msg public const int USER = 0x0400; public const int UM_1 = USER + 1; #endregion #region api [DllImport("user32.dll")] public static extern void PostMessage(IntPtr hWnd, int msg, int wParam, IntPtr lParam); #endregion }

5、在Form1中添加代码,如下: public partial class Form1 : Form { IntPtr h; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var f = new Form2(); h = f.Handle; f.Show(); } private void button2_Click(object sender, EventArgs e) { string str=textBox1 .Text ; IntPtr i=Marshal .StringToHGlobalAuto (str); Win32Api .PostMessage (h,Win32Api.UM_1 ,0,i); } }

6、在Form2中添加代码,如下: public partial class Form2 : Form { publi艘早祓胂c Form2() { InitializeComponent(); } protected override void WndProc(ref Message m) { switch (m.Msg) { case Win32Api .UM_1 : string str = Marshal.PtrToStringAuto(m.LParam); textBox1.Text += str+Environment .NewLine ; break; default : base.WndProc(ref m); break; } } }

7、调试运行,结果如下:

C#进程间通信:[3]自定义消息
  • Oracle11g的详细安装步骤
  • 如何修改winform RichTextBox控件的字体颜色
  • SQL数据库置疑重附加失败解决办法
  • win10怎么安装svn?win10系统下安装配置svn方法
  • SqlServer 日志文件损坏时恢复数据库
  • 热门搜索
    云南普者黑旅游攻略 川藏线旅游 江苏旅游地图 怒江旅游 张家界旅游路线 德国旅游攻略 湘潭旅游 德清旅游 亚布力滑雪旅游度假区 西藏拉萨旅游