C# 窗口消息传递

来源:互联网 发布:windows 日志服务器 编辑:程序博客网 时间:2024/05/20 05:53

与MFC类似,通过SendMessage和窗口句柄实现消息之间的传递

当然,这东西可以在线程和进程间通讯,实现线程消息的互相传递,文件系统升级卸载等功能


作用空间

using System.Runtime.InteropServices; // 导入user32.dll用到


主窗体

public partial class Form1 : Form{        [DllImport("user32.dll")]        private static extern int SendMessage(int hWnd, int Msg, int wParam, int lParam);        // 定义自定义消息名称        private const int WM_USER = 0x0400;        public static int MY_MSG_TEST = WM_USER + 0x0100;        // 重载WndProc函数,接收消息        protected override void WndProc(ref Message m)        {            if (m.Msg == MY_MSG_TEST)            {                MessageBox.Show("789");            }            else            {            }            base.WndProc(ref m);        }        // 定义按钮发消息        private void button1_Click(object sender, EventArgs e)        {           SendMessage(this.Handle.ToInt32(), MY_MSG_TEST,0,0);        }}

简单的消息传递
1 0