问题描述
遇到的问题是,需要判断MsgBox是否已经弹出,如果已经弹出就不要重复弹出了。
解决方案:
利用FindWindow方法判断MsgBox是否已经出现
MsgBox的
本质就是一个窗体,有标题和内容,可以使用FindWindow这个API函数去搜索对应标题的窗体句柄。如果能够找到就会返回一个大于0的句柄。这样就可以判断是否弹出了MsgBox。
下面是一个简单的使用例子:
1.首先创建一个WinForm窗体,拖入一个计时器控件
2.编写后端代码,让计时器每隔10s弹出一个MsgBox
3.运行程序查看效果,MsgBox会每隔10秒一直弹出
4.使用FindWindow方法进行判断,如果MsgBox已经存在,就不在弹出
添加代码:
FindWindow方法的两个参数分别是要找的窗口的类,以及要找的窗口的标题。
可以通过任意一个参数找到窗体,另一个参数填null就可以了。
上述MsgBox的窗口的标题为“确认”,且标题不会改变,所以直接使用窗口标题来查找。
5.运行代码查看效果,现在MsgBox弹出后就不会再次弹出了