Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
C# Mutex prüfung ob Prozess bereits läuft
- Ersteller R²-H
- Erstellt am
C
can320
Gast
- Registriert
- Mai 2008
- Beiträge
- 266
Möglicherweise wurde die Seite (Thema/Beitrag) mittlerweile gelöscht (z.B. Doppel- oder Crossposts, Spam, Werbung u.ä) ODER Dir fehlt aus einem der folgenden Gründe die Berechtigung, diese Seite zu anzuzeigen:
CopyPaste bitte
C
can320
Gast
www.mycsharp.de -> Suche -> Nur Betreff durchsuchen -> Mutexxxx (anzahl der x kann beliebig gewählt werden, lieber ein paar mehr als zu wenige)
- Registriert
- Mai 2008
- Beiträge
- 266
Wenn es so "einfach" für euch ist wäre es wahrscheinlich am schnellsten gewesen es hier zu posten wie es funktioniert oder nicht ?!
Diese 6 Unnötigen Post sind auf jeden Fall nicht sehr professionell Oo
Bringt mich jetzt sehr viel weiter...
Diese 6 Unnötigen Post sind auf jeden Fall nicht sehr professionell Oo
Bringt mich jetzt sehr viel weiter...
C
can320
Gast
Tja unser Postcounter steigt so viel schneller an. Wozu helfen, wenn man sich auch quer stellen kann?
Btw. wenn du programmieren willst, solltest du die suche verwenden. Vieles davon ist schon 100x da.
Btw. wenn du programmieren willst, solltest du die suche verwenden. Vieles davon ist schon 100x da.
Vektor
Lt. Commander
- Registriert
- Nov. 2004
- Beiträge
- 1.640
Jetzt mal ehrlich Leute er hat gefragt ob das mit dem Mutex 'ne gute Idee ist um zu ueberpruefen ob das Prgramm schon laeuft. Er hat nicht danach gefragt wie letztendlich die Implementation aussehen soll. Wenn ihr keine Lust habt zu helfen, dann postet bitte nicht. Die Frage war keinesfalls unverschaemt.
Yuuri
Fleet Admiral
- Registriert
- Okt. 2010
- Beiträge
- 13.928
Die Frage heißt für mich eher: Ich würde gern Mutexe benutzen, habt ihr Code Snippets für mich? Wenn er gemeint hätte, ob das eine gute Idee sei, dann hätte er das auch geschrieben.
Und wie du siehst, sind die anderen Poster genau der selben Meinung und verlinken einfach.
Und wie du siehst, sind die anderen Poster genau der selben Meinung und verlinken einfach.
Vektor schrieb:Jetzt mal ehrlich Leute er hat gefragt ob das mit dem Mutex 'ne gute Idee ist um zu ueberpruefen ob das Prgramm schon laeuft. Er hat nicht danach gefragt wie letztendlich die Implementation aussehen soll. Wenn ihr keine Lust habt zu helfen, dann postet bitte nicht. Die Frage war keinesfalls unverschaemt.
Leute belehren kann jeder aber dann noch kompetent zu antworten fällt wohl auch dir schwer.
@R²-H: Ja du kannst das mit einem Mutex machen.
Vielleicht hilft dir das bei der Lösung deines Problems weiter:
http://joelbennett.wordpress.com/20...tiple-copies-of-an-application-from-runningc/
schlzber
Cadet 4th Year
- Registriert
- Jan. 2004
- Beiträge
- 122
Prinzipiell geht das über ne Mutex so:
Du legst beim Programmstart eine eindeutig bezeichnete an und versuchst diese zu locken. Wenn es klappt, hast du gerade die erste Instanz deines Programms gestartet. Wenn es fehlschlägt, hast du eine weitere Instanz gestartet und kannst diese beenden und evtl vorher noch das Hauptfenster der schon laufenden Instanz suchen und in den Vordergrund bringen.
Diese Methode öffnet aber die Möglichkeit einer DoS-Attacke auf dein Programm: Wenn jemand anderes den Namen deiner Mutex weiß, kann dieser die locken und dann kann nicht mal die erste Instanz deines Programms gestartet werden.
Du legst beim Programmstart eine eindeutig bezeichnete an und versuchst diese zu locken. Wenn es klappt, hast du gerade die erste Instanz deines Programms gestartet. Wenn es fehlschlägt, hast du eine weitere Instanz gestartet und kannst diese beenden und evtl vorher noch das Hauptfenster der schon laufenden Instanz suchen und in den Vordergrund bringen.
Diese Methode öffnet aber die Möglichkeit einer DoS-Attacke auf dein Programm: Wenn jemand anderes den Namen deiner Mutex weiß, kann dieser die locken und dann kann nicht mal die erste Instanz deines Programms gestartet werden.
7H3 N4C3R
Lt. Commander
- Registriert
- Feb. 2002
- Beiträge
- 1.816
Du bräuchtest wohl nen Global Mutex - entsprechende Beispiele (und bereits gut beschriebene - kein Grund alles zu kopieren) sollten sich mit ein wenig Google-Benutzung einfach finden lassen.
Ein paar Überlegungen hierzu:
Man braucht die entsprechenden Privilegien für so einen Mutex.
Wie global soll der Mutex denn sein? Pro Benutzer? Über alle Benutzer? (Stichwort: Sitzung wechseln) In letzterem Fall wäre evtl. ein Dienst sinnvoller. Jetzt könnte man sich noch die Frage stellen, wie das auf nem Terminal Server richtig funktioniert.
Ein paar Überlegungen hierzu:
Man braucht die entsprechenden Privilegien für so einen Mutex.
Wie global soll der Mutex denn sein? Pro Benutzer? Über alle Benutzer? (Stichwort: Sitzung wechseln) In letzterem Fall wäre evtl. ein Dienst sinnvoller. Jetzt könnte man sich noch die Frage stellen, wie das auf nem Terminal Server richtig funktioniert.

Ich bin mal so nett und gebe ein Beispiel:
Code:
//Set Mutex Name
string currentMutex = "Mutex1";
bool bMutex;
//Open Mutex to check if process already running
System.Threading.Mutex mutex = new System.Threading.Mutex(true,currentMutex.ToLower(), out bMutex);
try
{
//Check Mutex
if (bMutex)
{
try
{
//hier dein Code
}
catch (Exception ex)
{
AppEventLog.ThrowUnexpectedErrorQuitApp("Process Bla ended unexpectly.", ex);
}
finally
{
//Release Icons
mutex.ReleaseMutex();
}
}
}
finally
{
//Close Mutex
mutex.Close();
mutex = null;
}
Ähnliche Themen
- Antworten
- 24
- Aufrufe
- 1.338
- Antworten
- 7
- Aufrufe
- 952
- Antworten
- 8
- Aufrufe
- 3.514
- Antworten
- 4
- Aufrufe
- 931