2009-09-07 6 views
8

Un programme crée un mutex lors de son démarrage. Je ne connais pas le format de ce mutex donc je me demandais s'il y avait un moyen d'obtenir une liste de tous les mutex non abandonnés, d'ouvrir le programme, d'obtenir une nouvelle liste et de voir si je pouvais trouver le mutex en supprimant toutes les entrées dupliquées .Obtenez une liste de mutex?

Existe-t-il un moyen d'obtenir cette liste?

Répondre

13

Si vous utilisez Windows, WinObj peut afficher les mutex nommés. Ou vous pouvez utiliser Process Explorer pour savoir quels objets un processus spécifique a ouvert.

+0

Qu'en est mutex sans nom? – bzupnick

+0

Si un mutex n'a pas de nom, vous ne pouvez pas y accéder (facilement) à partir d'un autre processus, donc c'est un point discutable. –

0

Si vous avez WinObj.exe, il est probable que vous ayez aussi handle.exe qui provient également de la suite SysInternals.

temps en temps je trouve

handle -a |findstr /C:Mutant /C:pid: 

être utile. Ceci affiche également les mutex non nommés.

BTW: Si vous ne voulez pas compter sur la compatibilité du format de sortie (I utilisé la version v3.51) vous devez capturer toute la production de la poignée -a et rechercher manuellement ou utiliser

handle -a -p %YOUR_PID% 
Questions connexes