My.Application.StartupNextInstance 事件
更新:2007 年 11 月
尝试启动已处于活动状态的单实例应用程序时发生。
' Usage
Public Sub Me_StartupNextInstance( _
ByVal sender As Object, _
ByVal e As StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
End Sub
' Declaration
Public Event StartupNextInstance( _
ByVal sender As Object, _
ByVal e As StartupNextInstanceEventArgs _
)
参数
sender
引发了该事件的 Object。e
包含应用程序的命令行参数的 StartupEventArgs 对象。
备注
尝试重新启动已处于活动状态的单实例应用程序时,该应用程序会引发 StartupNextInstance 事件。第一次启动单实例应用程序时,会引发 Startup 事件。有关更多信息,请参见 My.Application.Startup 事件 和 如何:指定应用程序的实例化行为 (Visual Basic)。
此事件是 Visual Basic 应用程序模型的一部分。有关更多信息,请参见 Visual Basic 应用程序模型概述。
此事件随其他用户界面事件在应用程序主线程上引发。这将允许事件处理程序直接访问应用程序的用户界面。但是,如果引发此事件时应用程序正忙于处理另一个用户界面事件,则只有在其他事件处理程序已完成或调用 My.Application.DoEvents 方法 之后,才会处理此事件。
说明: |
---|
只有单实例应用程序中才会引发 StartupNextInstance 事件。若要允许应用程序的单实例行为,必须选中项目设计器中的“生成单个实例应用程序”复选框。有关更多信息,请参见 如何:指定应用程序的实例化行为 (Visual Basic)。 |
若要在后续尝试中启动单实例应用程序,必须使用 e 参数的 CommandLine 属性来访问变量。My.Application.CommandLineArgs 属性 提供了用于启动单实例应用程序的第一个实例的参数。
StartupNextInstance 事件处理程序的代码存储在 ApplicationEvents.vb 文件中,而该文件在默认情况下是隐藏的。
访问应用程序事件的代码编辑器窗口
当“解决方案资源管理器”中有项目被选中时,在“项目”菜单上单击“属性”。
单击“应用程序”选项卡。
单击“查看应用程序事件”按钮打开代码编辑器。
有关更多信息,请参见如何:处理应用程序事件 (Visual Basic)。
任务
下表列出了涉及 My.Application.StartupNextInstance 事件的任务的示例。
要执行的操作 |
请参见 |
---|---|
使用 Visual Basic 应用程序模型提供的事件来运行代码 |
|
检查第一个应用程序实例的命令行参数 |
示例
此示例使用 StartupNextInstance 事件处理程序的 e 参数来检查应用程序的命令行参数。如果找到以 /input= 开头的参数,则显示该参数的其余部分。
Private Sub MyApplication_StartupNextInstance( _
ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
Dim inputArgument As String = "/input="
Dim inputName As String = ""
For Each s As String In e.CommandLine
If s.ToLower.StartsWith(inputArgument) Then
inputName = s.Remove(0, inputArgument.Length)
End If
Next
If inputName = "" Then
MsgBox("No input name")
Else
MsgBox("Input name: " & inputName)
End If
End Sub
必须在代码编辑器窗口中输入应用程序事件的代码。若要访问此窗口,请按照本主题的“备注”部分中的说明操作。有关更多信息,请参见如何:处理应用程序事件 (Visual Basic)。
要求
命名空间:Microsoft.VisualBasic.ApplicationServices
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)
各项目类型的可用性
项目类型 |
是否可用 |
---|---|
Windows 应用程序 |
是 |
类库 |
否 |
控制台应用程序 |
否 |
Windows 控件库 |
否 |
Web 控件库 |
否 |
Windows 服务 |
否 |
网站 |
否 |
权限
不需要任何权限。
请参见
任务
如何:指定应用程序的实例化行为 (Visual Basic)
如何:指定应用程序的实例化行为 (Visual Basic)