Vb6 如何将VB 6.0中的Application.PrevInstance转换为VB.NET?
我有VB6代码中的“Applications.PrevInstance”,我正试图使用VS2008将其升级到.NET。显然,这个代码不再有效。有人对升级后的解决方案有什么想法吗?TIA参见此处: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
非常感谢。很好用!想知道你是否知道处理卸载的类似方法?多亏了分配给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