恢复后保持单实例应用程序最大化

时间:2012-02-17 09:41:28

标签: vb.net winforms

我将VB .NET应用程序设置为单个实例。当我尝试启动应用程序时,第二次将其窗口恢复到正常的窗口状态而不是最大化(就像在尝试第二次启动之前一样)。如何让应用程序窗口保持其最后状态?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在注册表或文件更改后保存最后一个状态,并在加载应用时应用它

要设置并获取注册表值,请检查以下内容:

  Public Function GetRegistryValue(ByVal KeyName As String, Optional ByVal DefaultValue As Object = Nothing) As Object
        Dim res As Object = Nothing
        Try
            Dim k = My.Computer.Registry.CurrentUser.OpenSubKey("Software\YourApp", True)
            If k IsNot Nothing Then
                res = k.GetValue(KeyName, DefaultValue)
            Else
                k = My.Computer.Registry.CurrentUser.CreateSubKey("Software\YourApp")
            End If
            If k IsNot Nothing Then k.Close()
        Catch ' ex As Exception
            'PromptMsg(ex)
        End Try
        Return res
    End Function

    Public Sub SetRegistryValue(ByVal KeyName As String, ByVal _Value As Object)
        Try
            Dim k = My.Computer.Registry.CurrentUser.OpenSubKey("Software\YourApp", True)
            If k IsNot Nothing Then
                k.SetValue(KeyName, _Value)
            Else
                k = My.Computer.Registry.CurrentUser.CreateSubKey("Software\YourApp")
                k.SetValue(KeyName, _Value)
            End If
            If k IsNot Nothing Then k.Close()
        Catch ' ex As Exception
            'PromptMsg(ex)
        End Try
    End Sub