如何禁用双击窗体图标关闭窗体
2008-12-09 09:19
253 查看
这个问题来自论坛提问,.Net由于对WindowsAPI的透明度增强,很多Winform开发者都不太了解经典的win32消息方面的知识。
所有窗体上的鼠标反映都可以用WndProc拦截,除了系统菜单、标题栏、系统按纽还包括客户区。
using
System;
using
System.Windows.Forms;
using
System.Runtime.InteropServices;
namespace
WindowsApplication1
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
[DllImport(
"user32.dll"
)]
private
static
extern
IntPtr GetSystemMenu(IntPtr hWnd,
bool
bRevert);
protected
override
void
WndProc(
ref
Message m)
{
if
(m.Msg == 0x112)
{
if
(m.WParam.ToInt32() == 61539 || m.WParam.ToInt32() == 61587)
{
Console.WriteLine(m.WParam);
return
;
}
}
base
.WndProc(
ref
m);
}
}
}
所有窗体上的鼠标反映都可以用WndProc拦截,除了系统菜单、标题栏、系统按纽还包括客户区。
using
System;
using
System.Windows.Forms;
using
System.Runtime.InteropServices;
namespace
WindowsApplication1
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
[DllImport(
"user32.dll"
)]
private
static
extern
IntPtr GetSystemMenu(IntPtr hWnd,
bool
bRevert);
protected
override
void
WndProc(
ref
Message m)
{
if
(m.Msg == 0x112)
{
if
(m.WParam.ToInt32() == 61539 || m.WParam.ToInt32() == 61587)
{
Console.WriteLine(m.WParam);
return
;
}
}
base
.WndProc(
ref
m);
}
}
}
相关文章推荐
- 如何禁用双击窗体图标关闭窗体
- C#禁用双击窗体图标关闭窗体的方法
- VB2005中如何禁用窗体右上角的关闭按钮?
- 如何实现“WinForm窗体禁用关闭按钮”方法功能及源代码
- WinForm窗体禁用关闭按钮
- 如何在VB中关闭窗体?
- CentOS 7.x如何启动/关闭、启用/禁用服务? 修改系统运行级别
- 禁用Alt + F4关闭窗体的一些常用方法
- Windows Forms中禁用窗体的关闭按钮
- Win10如何开启或关闭任务栏右下角的小三角形图标
- 禁用窗体关闭按钮(使用GetWindowLong修改GWL_STYLE)
- C#.NET常见问题(FAQ)-如何捕捉窗体关闭的事件,弹窗确认是否退出
- WinForm 中禁用窗体的关闭按钮
- 如何关闭QQ播客(QQvideo)客户端图标
- Windows Mobile X图标如何销毁窗体而非隐藏
- C#双击非客户区关闭窗体
- 如何禁用ECSHOP缓存,如何关闭ECSHOP缓存
- MFC多文档程序如何关闭子窗体, MDIDestroy();
- 从c#如何取消窗体关闭-看国内的一些书是如何误人子弟的
- RHEL/CentOS 7.x如何启动/关闭、启用/禁用服务? 修改系统运行级别