windows api,一個窗體激活的時候給另外一個發消息
using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace WindowsApplication43 { public partial class Form1 : Form { Form frm =null; public Form1() { InitializeComponent(); this.Activated += Form_Activated; } const int WM_NCACTIVATE = 0x86; const int WA_ACTIVE = 0x1; [DllImport("user32.dll", EntryPoint = "SendMessage")] public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam); private void button1_Click(object sender, EventArgs e) { frm = new Form(); frm.Text = "jinjazz"; frm.Activated += Form_Activated; frm.Show(); frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top); SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); } void Form_Activated(object sender, EventArgs e) { SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); if (frm != null) SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); } } }