C# 实现无焦点窗体(转载)
2014-11-13 16:28
357 查看
#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
[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
相关文章推荐
- 仿QQ会员右下角提示框c#实现,提示窗体不获得焦点
- 艾伟_转载:C#下实现空白窗体上中文输入,可以实现类PS的文字工具
- 使用C#实现Windows下无焦点窗体
- C# WINFORM 强制让窗体获得焦点(可实现单次置顶或持续置顶)
- C# WINFORM 强制让窗体获得焦点(可实现单次置顶或持续置顶)
- 【转载】C#实现主窗体工具栏上按钮两幅图片的交互效果
- C#实现让窗体获得焦点的方法示例
- C# WINFORM 强制让窗体获得焦点(可实现单次置顶或持续置顶)
- 使用C#实现Windows下无焦点窗体
- 使用C#实现Windows下无焦点窗体
- 使用C#实现Windows下无焦点窗体
- 【转载】C#中实现窗体间传值
- C#实现Singleton (转载)
- [转载] 透明窗体的实现
- C#实现对Word、Excel等的模版定制(转载)
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- C#实现的18位身份证格式验证算法[转载]
- (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- 用C#实现汉字转化为拼音(转载)
- C#实现的18位身份证格式验证算法 (转载:http://blog.mvpcn.net/lion/articles/1401.aspx)