c# winform 自动关闭messagebox 模拟回车
2009-11-02 16:40
435 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class AutoDeleteMessageBox : Form
{
[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;
public AutoDeleteMessageBox()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
StartKiller();
MessageBox.Show("3秒钟后自动关闭MessageBox窗口", "MessageBox");
}
private void StartKiller()
{
Timer timer = new Timer();
timer.Interval = 3000; //3秒启动
timer.Tick += new EventHandler(Timer_Tick);
timer.Start();
}
private void Timer_Tick(object sender, EventArgs e)
{
KillMessageBox();
//停止Timer
((Timer)sender).Stop();
}
private void KillMessageBox()
{
//按照MessageBox的标题,找到MessageBox的窗口
IntPtr ptr = FindWindow(null, "MessageBox");
if (ptr != IntPtr.Zero)
{
//找到则关闭MessageBox窗口
PostMessage(ptr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
}
}
}
参考网址:http://www.dotblogs.com.tw/puma/archive/2009/02/06/7060.aspx
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class AutoDeleteMessageBox : Form
{
[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;
public AutoDeleteMessageBox()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
StartKiller();
MessageBox.Show("3秒钟后自动关闭MessageBox窗口", "MessageBox");
}
private void StartKiller()
{
Timer timer = new Timer();
timer.Interval = 3000; //3秒启动
timer.Tick += new EventHandler(Timer_Tick);
timer.Start();
}
private void Timer_Tick(object sender, EventArgs e)
{
KillMessageBox();
//停止Timer
((Timer)sender).Stop();
}
private void KillMessageBox()
{
//按照MessageBox的标题,找到MessageBox的窗口
IntPtr ptr = FindWindow(null, "MessageBox");
if (ptr != IntPtr.Zero)
{
//找到则关闭MessageBox窗口
PostMessage(ptr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
}
}
}
参考网址:http://www.dotblogs.com.tw/puma/archive/2009/02/06/7060.aspx
相关文章推荐
- c# winform 自动关闭messagebox 模拟回车
- c# winform 自动关闭messagebox 模拟回车
- C#实现winform自动关闭MessageBox对话框的方法
- c# winform 自动关闭messagebox 模拟回车
- (转)WinForm 下实现一个自动关闭的MessageBox
- WinForm 下实现一个自动关闭的MessageBox
- winform 关于Messagebox自动定时关闭和自定义提示框总按钮上文本的问题的整理
- [C#]Winform下回车或Tab键自动切换下一个控件焦点
- C# 自动关闭的MessageBox
- C#调用迅雷的时候 自动模拟点击”下载按钮” 关闭弹出窗口
- WinForm 下实现一个自动关闭的MessageBox
- C# WinForm 自启动/模拟开机自动启动
- WinForm 下实现一个自动关闭的MessageBox
- C# winform 加载网页 模拟键盘输入自动接入访问网络
- WinForm 下实现一个自动关闭的MessageBox
- WinForm 下实现一个自动关闭的MessageBox
- WinForm 下实现一个自动关闭的MessageBox
- winform 关于Messagebox自动定时关闭
- c# 关闭MessageBox 或者自动关闭MessageBox
- WinForm 下实现一个自动关闭的MessageBox