Win32: Wie bekomme ich den Prozess / Thread, der einen Mutex besitzt?

Ich arbeite an einer Anwendung, von der jeweils nur eine Instanz vorhanden sein muss. Hierfür gibt es mehrere Möglichkeiten:

Überprüfe laufende Prozesse auf einen, der mit dem Namen unserer EXE übereinstimmt (unzuverlässig)Finde das Hauptfenster (unzuverlässig und ich habe nicht immer ein Hauptfenster)Erstellen Sie einen Mutex mit einem eindeutigen Namen (GUID)

Die Mutex-Option scheint mir die zuverlässigste und eleganteste zu sein.

Bevor jedoch meine zweite Instanz beendet wird, möchte ich eine Nachricht an die bereits ausgeführte Instanz senden. Dafür brauche ich ein Handle auf den Thread (oder den Prozess), der den Mutex besitzt.

Es scheint jedoch keine API-Funktion zu geben, mit der der Ersteller / Besitzer eines bestimmten Mutex ermittelt werden kann. Übersehen ich es nur? Gibt es einen anderen Weg, um zu diesem Thread / Prozess zu gelangen? Gibt es einen anderen Weg, dies zu tun?

Aktualisieren: Dieser Typ Senden Sie einfach eine Nachricht analles Laufende Prozesse. Ich denke, das ist möglich, aber ich mag es nicht wirklich ...

Antworten auf die Frage(5)

Ihre Antwort auf die Frage