定时自动关闭MsgBox

Public Class Form1

    
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Int32
    
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hWnd As IntPtr, ByVal msg As IntegerByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer
    
Const WM_CLOSE = &H10

    
Private tmr As Timers.Timer

    
Private Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles Button1.Click
        StartKiller()
        
MsgBox("我会在3秒钟后自动关闭!", MsgBoxStyle.OkOnly Or MsgBoxStyle.Information, "TestMsgBox")
    
End Sub


    
Private Sub StartKiller()
        tmr 
= New Timers.Timer(3000)
        
AddHandler tmr.Elapsed, AddressOf Timer_Tick
        tmr.Start()
    
End Sub


    
Private Sub KillMsgBox()
        
Dim ptr As IntPtr = FindWindow(Nothing"TestMsgBox")
        
If ptr <> IntPtr.Zero Then PostMessage(ptr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero)
    
End Sub


    
Private Sub Timer_Tick(ByVal sender As ObjectByVal e As Timers.ElapsedEventArgs)
        KillMsgBox()
        tmr.Stop()
    
End Sub


End Class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值