windows api,一个窗体激活的时候给另外一个发消息
[csharp]class="Apple-converted-space"> view plaincopy
- 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);
-
- }
-
- }
-
- }