使用C#实现Windows下无焦点窗体
生活随笔
收集整理的這篇文章主要介紹了
使用C#实现Windows下无焦点窗体
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#region 無焦點窗體[System.Runtime.InteropServices.DllImport("user32.dll")]private extern static IntPtr SetActiveWindow(IntPtr handle);private const int WM_ACTIVATE = 0x006;private const int WM_ACTIVATEAPP = 0x01C;private const int WM_NCACTIVATE = 0x086;private const int WA_INACTIVE = 0;private const int WM_MOUSEACTIVATE = 0x21;private const int MA_NOACTIVATE = 3;protected override void WndProc(ref Message m){if(m.Msg == WM_MOUSEACTIVATE){m.Result = new IntPtr(MA_NOACTIVATE);return;}else if(m.Msg == WM_NCACTIVATE){if(((int)m.WParam & 0xFFFF) != WA_INACTIVE){if(m.LParam != IntPtr.Zero){SetActiveWindow(m.LParam);}else{SetActiveWindow(IntPtr.Zero);}}}base.WndProc(ref m);}#endregion 后面一段else if WM_NCACTIVATE是不必要的,如果窗口一開始是用ShowWindow且NOACTIVATE來啟動的話。
轉:http://blog.csdn.net/thirdapple/archive/2008/08/01/2755684.aspx
轉載于:https://www.cnblogs.com/sofire/archive/2010/10/19/1855278.html
總結
以上是生活随笔為你收集整理的使用C#实现Windows下无焦点窗体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客假日团队赛2 A.买一送一
- 下一篇: C#学习之用迭代器实现枚举器