Visual Basic 应用程序模型概述
Visual Basic 应用程序模型概述
通过 Visual Basic 应用程序模型,可以轻松地创建“单实例”应用程序。 单实例应用程序与普通应用程序不同,对于前者,每次只能运行应用程序的一个实例。 StartupNextInstance 事件)此情况。 通知中包括后续实例的命令行参数。 应用程序的后续实例在未进行任何初始化操作的情况下关闭。
单实例应用程序启动,并检查它是应用程序的第一个实例还是后续实例:
- 如果是第一个实例,则正常启动。
在第一个应用程序实例仍运行的情况下,每次启动应用程序的后续尝试都会导致非常不同的行为。 后续尝试会向第一个实例通知命令行参数,然后立即退出。 StartupNextInstance 事件以确定后续实例的命令行参数是什么,然后继续运行。此关系图显示了后续实例如何通知第一个实例。
通过处理 StartupNextInstance 事件,您可以控制单实例应用程序的行为方式。 例如,Microsoft Outlook 通常作为单实例应用程序运行;当 Outlook 正在运行时,如果尝试再次启动 Outlook,焦点会转移到初始实例,而不会打开另一个实例。
应用程序模型中发现下列事件:
- 应用程序启动。 Startup 事件。 通过处理此事件,可以添加一些代码,用于在加载主窗体之前初始化应用程序。 Startup 事件还提供了在启动过程的执行阶段取消执行应用程序的功能(如果需要)。
您可以将应用程序配置为在应用程序启动代码运行期间显示初始屏幕。 /nosplash 或 -nosplash 命令行参数时,应用程序模型将取消显示初始屏幕。 - 单实例应用程序。 StartupNextInstance 事件。 此事件传递后续实例的命令行参数。
- 未经处理的异常。 UnhandledException 事件。 用于该事件的处理程序可以检查此异常,并确定是否继续执行。
UnhandledException 事件在某些情况下不会引发。 UnhandledException。
- 网络连接更改。 NetworkAvailabilityChanged 事件。
NetworkAvailabilityChanged 事件在某些情况下不会引发。 NetworkAvailabilityChanged。
- 应用程序关闭。 Shutdown 事件进行通知。 在该事件处理程序中,您可以确保应用程序需要执行的操作(如关闭并保存)已完成。 您可以将应用程序配置为在主窗体关闭时关闭,或者仅当所有窗体关闭时才关闭。