VB.NET:WPF单实例

时间:2011-03-29 23:31:24

标签: wpf vb.net

有没有人使用VB.NET 2010能够创建单个实例应用程序? 我已经关注了MSDN示例,但它没有Application.xaml文件。

将任何C#样本转换为VB都不起作用,因为我无法覆盖Application.xaml中的Main子句(C#称之为App.xaml)。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用互斥锁。在项目属性中,禁用应用程序框架并将Sub Main设置为启动对象。然后将一个模块添加到您的项目中:

Imports System.Threading

Module EntryPoint
    Sub Main()
        Dim noPreviousInstance As Boolean

        Using m As New Mutex(True, "Some Unique Identifier String", noPreviousInstance)
            If Not noPreviousInstance Then
                MessageBox.Show("Application is already started!")
            Else
                Dim mainWindow As New MainWindow()
                Dim app As New Application()
                app.Run(mainWindow)
            End If
        End Using
    End Sub
End Module

使用此方法,您必须通过调用应用程序的Shutdown方法来关闭应用程序的关闭。

答案 1 :(得分:0)

以下是一些可能的解决方案。在决定一个之前,我会仔细查看整个帖子。确保在尝试其中任何一个之前备份代码,因此如果一个不起作用,您可以尝试另一个。

http://social.msdn.microsoft.com/forums/en-US/wpf/thread/6c15b837-9149-4b07-8a25-3266949621a7/