2009-09-07 25 views
8

Bir program başlatmanın bir parçası olarak bir muteks oluşturur. Bu muteksin formatını bilmiyorum, bu yüzden tüm terk edilmemiş mutekslerin bir listesini almanın, programı açmanın, yeni bir liste almanın ve tüm yinelenen girişleri kaldırarak mutex'in bulunup bulunamayacağına bakmanın bir yolu olup olmadığını merak ettim .Muteks'in bir listesini aldınız mı?

Bu listeyi almanın bir yolu var mı?

cevap

13

Windows kullanıyorsanız, WinObj size mutexes adında bir ad gösterebilir. Veya belirli bir işlemin hangi nesnelere açık olduğunu öğrenmek için Process Explorer'u kullanabilirsiniz.

+0

Ve ne kullanmalıyım (I sürüm v3.51 kullanılan) isimsiz muteksler? – bzupnick

+0

Eğer bir muteksin bir ismi yoksa, başka bir süreçten (kolayca) alamazsınız, bu yüzden bir tartışma noktasıdır. –

0

WinObj.exe'niz varsa, SysInternals-Suite'den de olan handle.exe da olasıdır.

Bazen ben yardımcı olmaya
handle -a |findstr /C:Mutant /C:pid: 

bulundu. Bu, adsız Muteksleri de görüntüler.

BTW: Eğer çıkış biçimi uyumluluğu güvenmek istemiyorsanız Eğer sap -a tüm çıkış yakalamak ve elle arama veya yaklaşık

handle -a -p %YOUR_PID% 
İlgili konular