demo
myCSharp.de-Mitglied
Dabei seit: 07.10.2004
Beiträge: 12
Entwicklungsumgebung: vs.net Herkunft: Österreich
|
|
Dereee!
Ich brauche für mein Programm eine Pausefunktion für einen Vorgang.
Dieser Vorgang ist ein Prozess - also irgendein Programm -, den ich aus
meinem Programm starte (kein Thread!!!).
Gibt es eine Möglichkeit diesen Prozess schlafen zu legen, wenn ja wie?
Danke im Voraus!
mfg demo
|
|
20.04.2005 16:04
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Zeroblaster
myCSharp.de-Mitglied
Dabei seit: 08.03.2005
Beiträge: 16
Entwicklungsumgebung: Visual Studio . Net 2003
|
|
Hmm warum willst du den Prozess den du aus C# startest
oder willst du dein C# Programm stillegen bis der Prozess beendet ist ?
|
|
20.04.2005 16:07
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
demo
myCSharp.de-Mitglied
Dabei seit: 07.10.2004
Beiträge: 12
Entwicklungsumgebung: vs.net Herkunft: Österreich
Themenstarter
|
|
Nein, ich will nicht warten, bis er beendet ist!
Ich benutze ein Komprimierungsprogramm und möchte den Vorgang der Kompression mittels Button pausieren lassen.
Und das ist nunmal ein fremdes Programm!
|
|
20.04.2005 16:10
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
svenson
myCSharp.de-Mitglied
Dabei seit: 15.04.2005
Beiträge: 8.746
Entwicklungsumgebung: Visual Studio .NET 2003 Herkunft: Berlin
|
|
Vom BS gibt es meines Wissens keine Funktion um einen Prozess pausieren zu lassen. Ein wirkungsvoller Weg sollte aber sein, die Prozesspriorität soweit nach unten zu setzen, bis das Programm praktisch nicht mehr drankommt (bz.w nur wenn sonst gar nix im System passiert). Echtes "Anhalten" ist das aber nicht.
Zumindest ist aber das System wieder "schnell".
|
|
21.04.2005 11:03
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
herbivore
myCSharp.de-Poweruser/ Experte
Dabei seit: 11.01.2005
Beiträge: 49.483
Entwicklungsumgebung: csc/nmake (nothing is faster) Herkunft: Berlin
|
|
Hallo demo,
ich denke auch, dass zuverlässig anhalten nicht geht. Wenn das Kompressionsprogramm ein Kommandozeilenprogramm ist, könntest du Ein- und Ausgabe zu dir umleiten (.RedirectStandardInput/Output) und dann versuchen, die Ausgabe anzuhalten, wie das auf der Kommandozeile geht (Strg+S) oder die Ausgabe einfach nicht lesen. Das hält den Prozess auch nicht direkt an, aber irgendwann blockiert dann (hoffentlich) eine Ausgabefunktion des Prozesses, woraufhin er wirklich stoppt.
herbivore
|
|
21.04.2005 11:34
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
demo
myCSharp.de-Mitglied
Dabei seit: 07.10.2004
Beiträge: 12
Entwicklungsumgebung: vs.net Herkunft: Österreich
Themenstarter
|
|
mhm schade!
jo gut ich verwende die rar.exe also konsolenprogramm
und soviel ausgabe hat das ding auch nicht, als dass sich das programm
selbst sperrt.
mhm blöd
danke trotzdem
|
|
21.04.2005 17:28
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Zwischen diesen beiden Beiträgen liegen mehr als 15 Jahre. |
M.Lach
myCSharp.de-Mitglied
Dabei seit: 06.11.2008
Beiträge: 28
|
|
schon was her, das hier beschrieben wurde, aber ich habe eine ähnliche Frage.
Im Ressourcen-Monitor gibt es mit einem "Rechtsklick" auf einen Prozess die Möglichkeit, diesen zu "pausieren" (nicht Kill!) und auch danach diesen wieder fortzuführen.
Diese Funktion würde ich gerne in ein eigenes Programm einbauen.
Ziel: prüfen, ob ein Prozess läuft.
Wenn Ja, diesen für einen einstellbaren Zeitraum (alle 10 Minuten) zu unterrechen und nach einem weiteren Zeitraum (15 Sekunden) fort zuführen.
das in einer kleinen GUI-Exe, in der ich die 2 Zeiten einstellen kann.
Mir fehlt die Idee (das Wissen) wie ich diese Pause auslöse.
Wenn nein: Melden, das der Prozess nicht da ist und Nichts machen.
-
Wenn ich das aber richtig verstanden habe, gibt es (im Gegensatz zu "Kill") diese Art der "Pause" für einen Prozess nicht in c#?
|
|
10.11.2020 10:24
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
HansFred
myCSharp.de-Mitglied
Dabei seit: 19.10.2020
Beiträge: 48
|
|
c# ist keine runtime sondern eine programmiersprache du solltest daher schauen wie die windows API dafür ist und kannst diese dann mit c# ansprechen.
c# ist behandelt die windows api nur wie ein wrapper aber manche dinge muss man selbst wrappen.
das prozess pausieren ist in echt aber kein prozess pausieren sondern einen snapshot machen und dann den prozess wieder mit dem snapshot starten. das heisst du wirst aus der applikation selbst keine chance haben den eigenen prozess der anwendung wieder zu starten
|
|
10.11.2020 10:31
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|