关闭ShowDialog的模态窗口
2024-08-27 03:09:03
[DllImport("user32.dll")]
private static extern IntPtr FindWindow(string a, string b); [DllImport("user32.dll")]
private static extern IntPtr PostMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
Timer timer = new Timer();
timer.Tick += (obj, arg) =>
{
//1、尝试关闭ColorDialog
IntPtr ptr1 = FindWindow(null, "颜色");
if (ptr1 != IntPtr.Zero)
{
PostMessage(ptr1, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("ColorDialog已关闭");
}
//2、尝试关闭FolderBrowserDialog
IntPtr ptr2 = FindWindow(null, "浏览文件夹");
if (ptr2 != IntPtr.Zero)
{
PostMessage(ptr2, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("FolderBrowserDialog已关闭");
}
//3、尝试关闭FontDialog
IntPtr ptr3 = FindWindow(null, "字体");
if (ptr3 != IntPtr.Zero)
{
PostMessage(ptr3, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("FontDialog已关闭");
}
//4、尝试关闭OpenFileDialog
IntPtr ptr4 = FindWindow(null, "打开");
if (ptr4 != IntPtr.Zero)
{
PostMessage(ptr4, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("OpenFileDialog已关闭");
}
//5、尝试关闭SaveFileDialog
IntPtr ptr5 = FindWindow(null, "另存为");
if (ptr5 != IntPtr.Zero)
{
PostMessage(ptr5, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("SaveFileDialog已关闭");
}
//6、尝试关闭MessageBox
IntPtr ptr6 = FindWindow(null, "测试消息");
if (ptr6 != IntPtr.Zero)
{
PostMessage(ptr6, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("MessageBox已关闭");
}
//7、尝试关闭自定义窗口(Show)
IntPtr ptr7 = FindWindow(null, "自定义窗口(Show)");
if (ptr7 != IntPtr.Zero)
{
PostMessage(ptr7, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("自定义窗口(Show)已关闭");
}
//8、尝试关闭自定义窗口(ShowDialog)
IntPtr ptr8 = FindWindow(null, "自定义窗口(ShowDialog)");
if (ptr8 != IntPtr.Zero)
{
PostMessage(ptr8, 0x0010, IntPtr.Zero, IntPtr.Zero);
SetInfoBar("自定义窗口(ShowDialog)已关闭");
}
};
timer.Interval = 5000;
timer.Enabled = true;
timer.Start();
最新文章
- 在windows上配置jdk环境
- 【转】并查集&;MST题集
- Eclipse,IDEA自动生成相应对象接收方法返回值的快捷键
- C++程序在debug模式下遇到Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call问题。
- oracle中sql语句的优化
- 算法模板——线段树6(二维线段树:区域加法+区域求和)(求助phile)
- 知识树杂谈Java面试(4)
- Hadoop2动态调整Log级别-以datanode的heartbeat log为例
- 开窗函数over
- ProcessHacker可编译版本
- vue系列之webstrom开发vue,无法热更新
- QQ音乐flac音乐转MP6格式怎样实现
- 查看计算机CPU、内存使用情况
- Mac虚拟机
- 常用Java集合类总结
- 带您详细解读分布式文件系统HDFS
- oracle 学习blogs
- 使用 numpy.random.choice随机采样
- Java的多线程
- Onject.Instantiate实例
热门文章
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
- 八、postman的cookie支持
- Python3基础 变量命名 区分大小写
- 【Mybatis】MyBatis之整合Spring(八)
- C++数据存储方式
- bladex之nacos配置
- Python - Django - 静态文件相关
- face_code业务信息不匹配
- [OpenCV开发]OpenCV图像编码和解码 imencode和imdecode使用,用于网络传输图片
- Terence’s Stuff: Why do we do research?