2009-09-07 2 views
8

Программа создает мьютекс как часть его запуска. Я не знаю формат этого мьютекса, поэтому я задавался вопросом, есть ли способ получить список всех незаброшенных мьютексов, открыть программу, получить новый список и посмотреть, могу ли я найти мьютекс, удалив все повторяющиеся записи ,Получите список мьютексов?

Есть ли способ получить этот список?

ответ

13

Если вы находитесь в Windows, WinObj может показать вам названные мьютексы. Или вы можете использовать Process Explorer, чтобы узнать, какие объекты имеют определенный процесс.

+0

А как насчет неназванные мьютексы? – bzupnick

+0

Если мьютекс не имеет имени, вы не можете получить его (легко) от другого процесса, так что это спорный вопрос. –

0

Если у вас есть файл WinObj.exe, у вас также есть handle.exe который также из SysInternals-Suite.

Иногда я нашел

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

быть полезным. Это также отображает неназванные Мьютеки.

КСТАТИ: Если вы не хотите, чтобы полагаться на совместимость с форматами вывода (я использовал версию v3.51), вы должны захватить весь вывод ручки -a и поиск вручную или использовать

handle -a -p %YOUR_PID% 
Смежные вопросы