"machen single-instance-Anwendung" was hat das zu tun?
in vb 2008 express diese option ist verfügbar, unter Anwendung Eigenschaften. weiß jemand, was ist Ihre Funktion? ist es so, dass es unmöglich ist, zu öffnen von zwei Instanzen gleichzeitig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es auch eine einfachere Methode:
Verwenden Sie den folgenden code...
Auf der main form load event Folgendes tun:
Wird diese kümmern sich um einzelne Instanzen als auch als "thin clients", und die Datei kann nicht gelöscht werden, während die Anwendung ausgeführt wird. und beim schließen der Anwendung oder wenn die Anwendung abstürzt, wird die Datei selbst gelöscht.
Make Single Instance Application
checkboxJa.
Ja, es macht es unmöglich zum öffnen von zwei Instanzen zur gleichen Zeit.
Aber es ist sehr wichtig bewusst zu sein, die bugs. Mit einigen firewalls kann es unmöglich zu öffnen, auch eine Instanz Ihrer Anwendung stürzt beim Start! Sehen diesem ausgezeichneten Artikel von Bill McCarthy für mehr details, und eine Technik, die für die Beschränkung Ihrer Anwendung eine Instanz. Seine Technik für die Kommunikation der command-line-argument von einer zweiten Instanz wieder an die erste Instanz verwendet Rohre .NET 3.5.
Warum nicht einfach einen Mutex verwenden? Dies ist, was MS vorschlägt, und ich habe es für viele-ein-Jahren mit keine Probleme.
Wenn die form, in diesem Fall schließt, wird der mutex wird freigegeben, und Sie können eine andere zu öffnen. Dies funktioniert sogar, wenn Sie die app stürzt ab.
Ja, du hast Recht, es wird nur eine Instanz der Anwendung zu öffnen zu einer Zeit.
Ich fand einen großen Artikel zu diesem Thema: Single-Instance-Anwendung in VB.NET.
Beispiel: