2010-09-08 5 views

Répondre

7

Voir ici:

http://www.knowdotnet.com/articles/previnstance.html

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 
+0

Merci! fonctionne parfaitement! Vous vous demandez si vous connaissez un travail similaire pour traiter avec Décharger? – oakrun

+0

http://bytes.com/topic/visual-basic-net/answers/349334-whats-equivalent-unload-form1-vb-net –

+0

Vous avez sauvé ce pauvre développeur C# mortel d'un anévrisme grâce à l'imparfait code VB im chargé de porter. –

0
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 
+0

dans la fonction ci-dessus vous avez deux fonctions: le premier pour l'App.exe lui-même et le second pour les formulaires dans le app.exe. Vous devez donc choisir ce dont vous avez besoin et les séparer dans votre application. Ricky – user7114634

Questions connexes