Ausgeführte Resourcedatei Beenden

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Die_Rache.

    Ausgeführte Resourcedatei Beenden

    Hallo,

    Ich habe es zwar hinbekommen eine Datei vom Resource Ordner auszuführen, weiß jedoch nicht, wie ich diese beenden/schließen kann.
    Wenn ich die gesamte Form schließe, schließt sie nicht vollständig, da die Resource Datei noch ausgeführt wird.
    Das heißt, dass ich die Anwendung nicht löschen/verschieben/umbenennen kann, solange ich sie nicht manuell im Taskmanager beende.

    PS:
    Kann man einstellen, dass eine geöffnete Resource Datei auf Elemente im Anwendungsordner zugreifen kann, wenn man den pfad als z.b ("programm.exe") angibt?
    Ich benutze diesen code:

    VB.NET-Quellcode

    1. Public Shared Sub StartApplication(ByVal assembly As Reflection.Assembly)
    2. Dim thd As New Threading.Thread(AddressOf InvokeApplication)
    3. thd.Start(assembly)
    4. End Sub
    5. Private Shared Sub InvokeApplication(ByVal args As Object)
    6. Dim application As Reflection.Assembly = DirectCast(args, Reflection.Assembly)
    7. Dim ep As Reflection.MethodInfo = application.EntryPoint
    8. Dim parameterTypes() As Type = Array.ConvertAll(Of Reflection.ParameterInfo, Type)(ep.GetParameters, Function(param As Reflection.ParameterInfo) param.ParameterType)
    9. If parameterTypes.Length = 0 Then
    10. 'static void Main()
    11. ep.Invoke(Nothing, New Object() {})
    12. ElseIf parameterTypes.Length = 1 Then
    13. If parameterTypes(0) Is GetType(String()) Then
    14. 'static void Main(String[] args)
    15. ep.Invoke(Nothing, New Object() {New String() {}})
    16. Else
    17. Throw New NotSupportedException
    18. End If
    19. Else
    20. Throw New NotSupportedException
    21. End If
    22. End Sub


    und dann starte ich die Anwendung mit

    VB.NET-Quellcode

    1. StartApplication(Reflection.Assembly.Load(My.Resources.DATEINAME))
    Hi
    besser wär's ggf. sogar, eine eigene Anwendungsdomäne dafür zu erstellen. Ich kenn' den Code ja von irgendwoher :rolleyes:.
    Dein Programm wartet einfach, bis die innere Anwendung beendet ist, bzw. bis der Thread abgeschlossen ist. Wenn das nicht der Fall ist, liegt das aber nicht an dem Schnipsel, sondern eher an der inneren Anwendung selber. Wie sieht der Code in der Resource aus?

    Gruß
    ~blaze~
    falschen Anwendung? Will den Ordner übersichtlich halten ;)

    Edit: Habs gelöst, indem ich den Prozess beim schließen der Anwendung beende.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Die_Rache“ ()