Vb6 如何将VB 6.0中的Application.PrevInstance转换为VB.NET?

Vb6 如何将VB 6.0中的Application.PrevInstance转换为VB.NET?,vb6,vb6-migration,Vb6,Vb6 Migration,我有VB6代码中的“Applications.PrevInstance”,我正试图使用VS2008将其升级到.NET。显然,这个代码不再有效。有人对升级后的解决方案有什么想法吗?TIA参见此处: 非常感谢。很好用!想知道你是否知道处理卸载的类似方法?多亏了分配给port的不完美VB代码,你才使这个可怜的C#开发者免于动脉瘤。在上面的函数中,你有两个函数:第一个用于App.exe本身,第二个用于App.exe中的表单。所以你需要选择你需要的,并在你的应用程序中将它们分开。瑞奇 Public Su

我有VB6代码中的“Applications.PrevInstance”,我正试图使用VS2008将其升级到.NET。显然,这个代码不再有效。有人对升级后的解决方案有什么想法吗?TIA

参见此处:


非常感谢。很好用!想知道你是否知道处理卸载的类似方法?多亏了分配给port的不完美VB代码,你才使这个可怜的C#开发者免于动脉瘤。在上面的函数中,你有两个函数:第一个用于App.exe本身,第二个用于App.exe中的表单。所以你需要选择你需要的,并在你的应用程序中将它们分开。瑞奇
Public Sub Main()
   If PrevInstance() Then Exit Sub

   ' continue with your application
   UserName = Environ("UserName")
   ComputerName = Environ("COMPUTERNAME")

End Sub

Function PrevInstance() As Boolean
  If UBound(Diagnostics.Process.GetProcessesByName _
     (Diagnostics.Process.GetCurrentProcess.ProcessName)) _
     > 0 Then
     Return True
  Else
     Return False
  End If
End Function
Function PrevInstance() As Boolean
    If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
        PrevInstance = True
    Else
        UserName = Environ("UserName")
        Computername = Environ("COMPUTERNAME")
        PrevInstance = False
    End If
    Dim i, n As Integer, RepForm As String
    For i = My.Application.OpenForms.Count - 1 To 1 Step -1
        RepForm = My.Application.OpenForms.Item(i).Name
        For n = My.Application.OpenForms.Count - 1 To 1 Step -1
            If My.Application.OpenForms.Item(n).Name = My.Application.OpenForms.Item(i).Name And n > i Then
                My.Application.OpenForms(i).Close()
                PrevInstance = True
                Exit Function
            End If
        Next n
    Next i
End Function