博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winfrom让弹出的MessageBox在指定时间内自动销毁
阅读量:6826 次
发布时间:2019-06-26

本文共 1062 字,大约阅读时间需要 3 分钟。

winfrom让弹出的MessageBox在指定时间内自动销毁,代码如下: 
private void Button_Click(object sender, System.EventArgs e)
{
StartKiller();
MessageBox.Show("这里是MessageBox弹出的内容","MessageBox");
MessageBox.Show("这里是跟随运行的窗口","窗口");
}

private void StartKiller()
{
Timer timer = new Timer();
timer.Interval = 10000;//10秒启动
timer.Tick += new EventHandler(Timer_Tick);
timer.Start();
}

private void Timer_Tick(object sender, EventArgs e)
{
KillMessageBox();
//停止计时器
((Timer)sender).Stop();
}

private void KillMessageBox()
{
//查找MessageBox的弹出窗口,注意对应标题
IntPtr ptr = FindWindow(null,"MessageBox");
if(ptr != IntPtr.Zero)
{
//查找到窗口则关闭
PostMessage(ptr,WM_CLOSE,IntPtr.Zero,IntPtr.Zero);
}
}

[DllImport("user32.dll", EntryPoint = "FindWindow", CharSet=CharSet.Auto)]
private extern static IntPtr FindWindow(string lpClassName, string lpWindowName); 

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int PostMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

public const int WM_CLOSE = 0x10;

     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360728,如需转载请自行联系原作者

你可能感兴趣的文章
基础总结篇之三:Activity的task相关
查看>>
JavaScript的循环方式(1)
查看>>
解析RHCS高可用集群HA及负载均衡集群LB的实现方法
查看>>
聊聊springcloud的serviceRegistryEndpoint
查看>>
蓝鸥零基础学习HTML5第九讲 兼容性七
查看>>
跨交换机实现VLAN
查看>>
XML - JAXP技术 - DOM解析
查看>>
数据操作与查询语句
查看>>
selenium webdriver (11) -- 截图
查看>>
sublime插件安装
查看>>
网络配置多会话实验
查看>>
如何挑选适合自己的HTML5视频课程
查看>>
windows提权
查看>>
苹果Siri再新增服务内容 航班查询、餐点外送和血糖监控
查看>>
学习笔记
查看>>
远程协助,TeamViewer之外的另一种选择
查看>>
Centos 6.5 部署 LNMP
查看>>
网安天目
查看>>
rsync远程同步及rsync+inotify实时同步
查看>>
Redis分布式锁的正确实现方式(Java版)
查看>>