c#拦截关机注销消息的实现代码
发布时间:2015-12-09 编辑:jiaochengji.com
c#拦截关机注销消息的实现代码,纯代码,供初学的朋友们参考。
c#拦截关机注销消息的实现代码,纯代码,供初学的朋友们参考。
1、重写WndProc
复制代码 代码示例:
private static int WM_QUERYENDSESSION = 0x0011;
private static bool systemShutdown =false;
private static bool IsselfClose =false;
private IntPtr _lp;
protected override voidWndProc(refSystem.Windows.Forms.Message m)
{
if (m.Msg == WM_QUERYENDSESSION)
{
if (!IsselfClose)
{
systemShutdown = true;
_lp = m.LParam;
}
}
base.WndProc(refm);
} //WndProc
private static bool systemShutdown =false;
private static bool IsselfClose =false;
private IntPtr _lp;
protected override voidWndProc(refSystem.Windows.Forms.Message m)
{
if (m.Msg == WM_QUERYENDSESSION)
{
if (!IsselfClose)
{
systemShutdown = true;
_lp = m.LParam;
}
}
base.WndProc(refm);
} //WndProc
2、在WinForm的Closing事件中写入事件
复制代码 代码示例:
private voidFormSetting_FormClosing(objectsender,FormClosingEventArgs e)
{
if (systemShutdown)
{
e.Cancel= true;
systemShutdown= false;
WriteLogwl = new WriteLog(_LogPath,_UserName,_lp.ToInt32());
wl.Show();
}
}
{
if (systemShutdown)
{
e.Cancel= true;
systemShutdown= false;
WriteLogwl = new WriteLog(_LogPath,_UserName,_lp.ToInt32());
wl.Show();
}
}
注:.NET中,消息经过的顺序为:Application->WndProc->DefWndProc,以此铭记,哈。
您可能感兴趣的文章:
c#拦截关机注销消息的实现代码
php拦截异常怎么写
java中MyBatis拦截器Inteceptor详解
Struts2学习笔记之控制拦截器
微信公众平台消息有时候不处理问题追踪
struts练习题
c#钩子本线程内消息拦截的方法
C# Hook钩子实例-截取键盘输入
spring WebSocket的详细介绍
12306手机核验收不到验证码怎么解决
[关闭]