Ausgeführten Prozess beenden

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Ausgeführten Prozess beenden

    Hallo, ich soll etwas für die Schule programmieren und ich komme hierbei nicht weiter:



    Ich klicke auf eine Datei, diese Datei kopiert sich in den tmp Ordner und wird dort ausgeführt, aber die Datei, die angeklickt wurde, lässt sich nicht mehr löschen, da der Prozess läuft, also praktisch doppelt, wie kann ich das verhindern und die Datei beenden, weil ja die Datei in tmp Ordner schon geöffnet ist, ich will ja nicht 2 mal ein programm starten (das mit tmp und autosatrt muss sein).




    Gruß



    Slawa
    Hi.

    Wenn sich der erste Prozess von selbst beendet, musst der zweite ihn nicht abschießen. Gehe auf "Projekteigenschaften" --> "Anwendung" --> "Anwendungsereignisse anzeigen". Deklariere eine Private Variable "_boolStartProcess As Boolean = True" und erstelle eine Public-ReadOnly-Eigenschaft "StartProcess As Boolean" in der Klasse MyApplication. Behandele das Ereignis "StartupNextInstance" und lege dort die bool-Variable auf "False" fest. Im Form_Load-Eventhandler prüfst du, ob My.Application.StartProcess = True ist. Wenn ja, kopierst du die Datei ins Temp-Verzeichnis und startest sie. Danach beendest du "dich selbst" mit Application.Exit().

    Die zweite Instanz, die beim ersten Aufruf gestartet wird, startet keine neue Instanz, weil das StartupNextInstance-Ereignis mit der deklarierten Variable dies verhindert, sodass der Kopieren-und-Prozess-Starten-Zweig im Form_Load-Eventhandler übersprungen wird.
    Gruß
    hal2000
    Ja das ist schon richtig was du sagst, aber die gedroppte datei in tmp wird gestartet sie hat den namen: Test

    und wenn ich auf taskmgr.exe gehe sehe ich Test1 und Test u drinn, obwohl nur Test1 drinn stehen sollte.



    Wird dein Code mir helfen?