别让MsgBox中断了一些Background的处理作业

一旦您呼叫了 MsgBox,您正在执行的一些 Background 的处理作业,例如计数器或时钟...等,都会停下来,直到您回应了 MsgBox 之后,一切才会恢复正常!或许您并不希望如此,这也有可能造成一些不必要的错误!
要解决这个问题,您必须使用 Windows API 去呼叫 MessageBox Function,它的使用方法、外观和 MsgBox 的结果完全相同,但是它却不会中断一些 Background 的处理作业!

在以下的范例中,您要在 Form 中加入一个 Label、二个 CommandButton 及一个 Timer,不更改任何属性。

'在声明区中加入以下声明:

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 Sub Command1_Click()
MsgBox "计时器停掉了!", 64, "VB 的讯息框"
End Sub

Private Sub Command2_Click()
MessageBox Me.hwnd, "注意!计时器还在跑!", "API 的讯息框", 64
End Sub

Private Sub Form_Load()
Me.TimerInterval = 1000
Label1.Caption = "目前的时间是:" & Time
End Sub

Private Sub Timer1_Timer()
Label1.Caption = "目前的时间是:" & Time
End Sub

时间: 2024-09-22 23:01:20

别让MsgBox中断了一些Background的处理作业的相关文章

ajax readyState的五种状态详解

在<Pragmatic Ajax A Web 2.0 Primer >中对readyStae状态的介绍,摘译如下: 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loading) the send( ) method has been invoked, request in progress. 2: (Loaded) the send( ) method has completed, entire res

WebSphere Application Server中现代化的基于Java的批处理(一)

介绍 Modern Batch 和计算密集型的编程模型 简介 批处理程序是任何企业 IT 领域的一个传统且不可或缺的组件.目前的批处理发展趋势是将内部的 Java 技能应用于在线程序和批处理程序上,以确保: 最大限度地提高实现的重用. 更轻松的开发和维护,因为使用了相同的工具集. 企业标准和服务质量实施上的一致性. IBM 开发的解决方案提供了一种具有凝聚力的批处理程序管理模式.IBM WebSphere Application Server 的 Modern Batch 功能(可用于 WebS

SQL Server错误代码及解释(留着备用)

原文:SQL Server错误代码及解释(留着备用) 转自:http://www.ajia.me/Article/193.html Code Error Message  0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒绝访问. 6 句柄无效. 7 存储控制块被损坏. 8 存储空间不足,无法处理此命令. 9 存储控制块地址无效. 10 环境错误. 11 试图加载格式错误的程序. 12 访问码无效. 13 数据无效. 14

SQL Server错误代码及解释(二)

2001 指定的驱动程序无效.  2002 窗口样式或类别属性对此操作无效.  2003 不支持请求的图元操作.  2004 不支持请求的变换操作.  2005 不支持请求的剪切操作.  2010 指定的颜色管理模块无效.  2011 制定的颜色文件配置无效.  2012 找不到指定的标识.  2013 找不到所需的标识.  2014 指定的标识已经存在.  2015 指定的颜色文件配置与任何设备都不相关.  2016 找不到该指定的颜色文件配置  2017 指定的颜色空间无效.  2018 图

Oracle数据库集复制方法浅议_oracle

正在看的ORACLE教程是:Oracle数据库集复制方法浅议.前言 日益增长的分布式应用需求要求实现更好分布式的软件环境,不断推动着分布式技术的进步.Oracle数据复制是实现分布式数据环境的一种技术,通过在不同的物理站点拷贝数据来建立分布式数据环境.它与分布式数据库不同,在分布式数据库中,虽然每个数据对象也对所有的站点可用,但是特定的数据对象只存在于一个特定的站点中.而数据复制实现所有的站点都有相同数据对象的可用拷贝. 在一个典型的分布式商业应用中经常需要把个地区的数据备份到总部的数据库中,一

SQL Server错误代码大全及解释(留着备用)_MsSql

SQLSTATE SQL SERVER 驱动程序错误 描述  HY000 所有绑定列都是只读的. 必须是可升级的列,以使用 SQLSetPos 或 SQLBulkOperations 更改或插入行. HY000 已检测到一个旧 netlib (%s).请删除并重新启动应用程序. 正在装载的 netlib 已过期.驱动程序请求一个较新的 netlib.问题可能出在应用程序当前目录中的 netlib,正在装载的是这个 netlib,而不是系统目录中的那个.也可能是该 netlib 安装不当或已损坏.

如何中断JAVA线程

如何中断JAVA线程 程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误.       在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程.                                                                                      背景     中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,

Java Thread.interrupt 害人! 中断JAVA线程

程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误.       在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程.                                                                                      背景     中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其当前的操作

win7下载中断故障解决

  用电脑下载程序或者是软件.资料应该是咱们日常生活或者是工作中都经常用到的功能吧?但是大家有没有发现win7系统有这样的一个问题,若是下载的时间需要比较长的话,下载的任务便会出现自动停止或者是中断的情况,可能我们下载了很久之后才发现,任务已经不知道什么时候被中断了,那么这种问题如何解决呢? 其实经过win7之家的测试,发现这个问题原来是因为电源设置问题引起的,既然找到了病因,那么解决的方法也是呼之欲出了! 首先,我们打开win7系统的菜单,进入控制面板中,找到网络和共享中心点击进去. 接下来找