关于定时关闭询问对话框的一点体会
来源:互联网 发布:苹果平板刷windows 编辑:程序博客网 时间:2024/06/06 13:04
用过瑞星杀毒软件的朋友都知道,他可以定时关闭询问对话框。询问对话框的实现很简单,调用vb中提供的msgbox就可以实现了,可是问题是询问对话框是模式对话框,不关闭它的话,下面的代码无法继续执行,这一点也多多少少给朋友们造成了一些困饶。那么怎么解决呢,我的方案是调用api函数messagebox代替msgbox,结合timer控件实现自动关闭,闲话少说,看代码,下面的代码演示了如何在10秒中之后关闭对话框(窗体上一个按钮,一个timer控件):
Option Explicit
Const MB_DEFBUTTON1 = &H0&
Const MB_DEFBUTTON2 = &H100&
Const MB_DEFBUTTON3 = &H200&
Const MB_ICONASTERISK = &H40&
Const MB_ICONEXCLAMATION = &H30&
Const MB_ICONHAND = &H10&
Const MB_ICONINFORMATION = MB_ICONASTERISK
Const MB_ICONQUESTION = &H20&
Const MB_ICONSTOP = MB_ICONHAND
Const MB_OK = &H0&
Const MB_OKCANCEL = &H1&
Const MB_YESNO = &H4&
Const MB_YESNOCANCEL = &H3&
Const MB_ABORTRETRYIGNORE = &H2&
Const MB_RETRYCANCEL = &H5&
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const BM_CLICK = &HF5
Dim i As Long
Private Sub Command1_Click()
Timer1.Enabled = True
MessageBox Me.hwnd, "this is test", App.Title, MB_OK
Timer1.Enabled = False
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
i = i + 1
If i >= 10 Then
Dim dlghwnd As Long
Dim buttonhwnd As Long
dlghwnd = FindWindow("#32770", App.Title)
buttonhwnd = GetDlgItem(dlghwnd, 2) '其中的2,用spy++获得
SendMessage buttonhwnd, BM_CLICK, 0&, ByVal 0&
End If
End Sub
- 关于定时关闭询问对话框的一点体会
- 转:关于定时关闭询问对话框的一点体会
- 定时关闭的对话框窗口
- 关于逻辑的一点体会
- 关于flush的一点体会
- 关于线程的一点体会
- 关于读书的一点体会
- 关于学习的一点体会
- 关于傅里叶变换的一点体会
- 创建可以定时自动关闭的对话框
- Android,对话框定时自动关闭的实现
- Android对话框定时自动关闭的实现
- 关于PostMessage与SendMessage的一点体会
- 关于自定义事件的一点体会
- 关于背单词的一点个人体会
- 关于管理方面的一点体会
- 关于C#发送邮件的一点体会
- 关于网页制作的一点体会
- 递归:以俄罗斯跳棋为例
- VB嵌入文件的非常规实现
- VB中给listview的item添加多行气泡式Tooltip
- 用diskid.dll和disk32.dll获得硬盘序列号
- 用VB将剪切板中的图片保存为JPG文件
- 关于定时关闭询问对话框的一点体会
- 一个利用随机数加密字串的算法
- 也谈用在ASP.Net中操作IIS
- 用c语言开发的小游戏
- OpenCms文件导入过程初探
- 用Java实现Server-Client结构的聊天系统
- 用.Net构架你的系统(基类的搭建思路)
- ASP代码的对象化
- 利用socket编写windows和linux通讯程序