Eine Anwendung im gestoppten/pausierten Zustand starten?

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Vultrax.

    Eine Anwendung im gestoppten/pausierten Zustand starten?

    Guten Morgen,

    ist es möglich, eine Anwendung im gestoppten/pausierten Zustand zu starten?
    Die Anwendung soll in den Arbeitsspeicher geladen, aber erst dann ausgeführt werden, wenn meine Anwendung die Berechtigung bzw. den Befehl dafür erteilt.


    Ich bin für jede Hilfe dankbar! :)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

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

    Hallo

    Verstehe den sinn dahinter nicht ganz. Geht es etwa darum das die anwendung sehr lange zum starten benötigt???
    Wenn ja, stert die anwendung und mache Sie unsichtbar. Wenn nötig kannst du diese dann sichtbar machen.

    Um was geht es dir, sag uns das bitte.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Danke erstmal für Deine Antwort!

    Ich möchte die Anwendung durch MEINE Anwendung analysieren (verschiedene Informationen erhalten und ausgeben) und bearbeiten.
    Die Anwendung kann ich auch pausieren, allerdings wurde dann schon ein Teil des (möglicherweise schädlichen) Codes ausgeführt.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Hallo

    Wenn DEINE Anwendung die andere Starten soll mach das mit Process.Start(PfadZurAnwendung).

    Oder verstehe ich jetzt etwas falsch?

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Sorry, kenne keinen gestoppten/pausierten Zustand einer Anwendung. Evtl. habe ich hier aber nachholbedarf.
    Meines Wissens nach kann nur ein Dienst pausiert werden.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Weis nicht was ich davon halten soll. Vorallem weil ja nicht die anwendung selbst sondern nur ein thread pausiert wird. Wie schaut das auch wenn die Anwendung mit mehreren Thread als nur dem UI Thread arbeitet?
    Hab mich jetzt nicht eingelesen aber ich muss ja auch nicht alles kennen :D

    Sorry, kann ich dir leider nicht Helfen.

    Grüße
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Du "suspendest" alle Threads (sieht dann ungefähr so aus - nicht vollständig).

    VB.NET-Quellcode

    1. Dim hThread As IntPtr
    2. For Each Thread As ProcessThread In Process.GetProcessById(pID).Threads
    3. hThread = OpenThread(SUSPEND_RESUME, False, Thread.Id)
    4. SuspendThread(hThread)
    5. Next

    Dennoch danke! :)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    @Vultrax Habe ich das richtig verstanden?
    Deine Anwendung startet eine andere Anwendung, ohne sie zu starten?
    Probier mal, was sich mit System.Reflection.Assembly.Load() machen lässt: msdn.microsoft.com/de-de/libra…embly.load(v=vs.110).aspx
    Das setzt allerdings voraus, dass es sich um eine .NET Assembly handelt.
    Bei Nicht-.NET Assemblies sehe ich keine Chance.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Deine Anwendung startet eine andere Anwendung, ohne sie zu starten?

    So wie ich das verstehe will er die Anwendung starten, aber sie nicht laufen lassen. Also praktisch wie bei einem Debugger. Der startet die Anwendung, bleibt aber direkt beim ersten Befehl stehen, so dass die Anwendung noch nichts machen kann.
    Danke erstmal für Eure Antworten!

    RodFromGermany schrieb:

    @Vultrax Habe ich das richtig verstanden?
    Deine Anwendung startet eine andere Anwendung, ohne sie zu starten?
    Probier mal, was sich mit System.Reflection.Assembly.Load() machen lässt: msdn.microsoft.com/de-de/libra…embly.load(v=vs.110).aspx
    Das setzt allerdings voraus, dass es sich um eine .NET Assembly handelt.
    Bei Nicht-.NET Assemblies sehe ich keine Chance.

    Ich bräuchte eine universelle Lösung, da es sich auch bei meiner TEST-Anwendung, um keine .NET-Anwendung handelt.
    Ich werde mir das mal anschauen, dann kann ich vielleicht erstmal bei .NET-Anwendungen was machen.

    Bluespide schrieb:

    So wie ich das verstehe will er die Anwendung starten, aber sie nicht laufen lassen. Also praktisch wie bei einem Debugger. Der startet die Anwendung, bleibt aber direkt beim ersten Befehl stehen, so dass die Anwendung noch nichts machen kann.

    Richtig, die Anwendung soll erst ausgeführt werden, wenn meine Anwendung dafür die Erlaubnis erteilt.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Nein, Zugriff auf die Quelle habe ich nicht.
    Ich möchte jede X-Beliebige Anwendung im gestoppten/pausierten Zustand starten können.

    Gibt es dort nichts von Microsoft? Wie machen das Debugger (z.B. OllyDbg oder x64dbg)?
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford