2009-09-07 25 views
8

एक प्रोग्राम अपने स्टार्ट-अप के हिस्से के रूप में एक म्यूटेक्स बनाता है। मुझे इस म्यूटेक्स के प्रारूप को नहीं पता है, इसलिए मुझे आश्चर्य हुआ कि क्या सभी गैर-त्याग किए गए म्यूटेक्स की सूची प्राप्त करने का कोई तरीका है, प्रोग्राम खोलें, एक नई सूची प्राप्त करें और देखें कि क्या मैं सभी डुप्लिकेट प्रविष्टियों को हटाकर म्यूटेक्स पा सकता हूं ।म्यूटेक्स की एक सूची प्राप्त करें?

क्या इस सूची को पाने का कोई तरीका है?

उत्तर

13

यदि आप विंडोज़ पर हैं, तो WinObj आपको म्यूटेक्स नाम दे सकता है। या आप यह पता लगाने के लिए Process Explorer का उपयोग कर सकते हैं कि कौन सी ऑब्जेक्ट्स एक विशिष्ट प्रक्रिया खुलती है।

+0

और क्या बारे में इस्तेमाल करना चाहिए अज्ञात म्यूटेक्स? – bzupnick

+0

यदि किसी म्यूटेक्स का नाम नहीं है, तो आप इसे किसी अन्य प्रक्रिया से (आसानी से) नहीं प्राप्त कर सकते हैं, इसलिए यह एक महत्वपूर्ण बिंदु है। –

0

यदि आपके पास WinObj.exe है तो यह संभव है कि आपके पास हैंडल.एक्सई जो SysInternals-Suite से भी है।

कभी कभी मैं

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

पाया सहायक हो। यह अनामित म्यूटेक्स भी प्रदर्शित करता है।

Btw: आप न उत्पादन प्रारूप संगतता पर भरोसा करना चाहते हैं (मैं संस्करण v3.51 प्रयुक्त) आप और संभाल -एक के पूरे उत्पादन पर कब्जा मैन्युअल रूप से खोज या

handle -a -p %YOUR_PID% 
संबंधित मुद्दे