Eine Anwendung im gestoppten/pausierten Zustand starten?

  • VB.NET
  • .NET 2.0

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

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

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!

    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)
    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

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!
    Ich möchte die Anwendung im gestoppten/pausierten Zustand starten, mit Process.Start wird die Anwendung aber direkt 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

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!
    Mit SuspendThread kann man eine Anwendung pausieren, allerdings ist es dann schon zu spät.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!
    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)
    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

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!
    @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).
    VB-Fragen ü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

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!
    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

    (Ich habe ein kleines Verständnis und Lernproblem)
    Bevor ich ein neues Thema erstelle, suche ich immer vorher bei Google oder nutze die Forum-Suche!