![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как получить список всех хендлов в системе типа mutant(mutex)?
Знаю что как то с помощью вот этого: Код:
|
#2
|
||||
|
||||
![]() Что это за "типа mutant"? Вот обычный список, пример из drkb
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
![]() Не могу открыть проект тот что ты скинул. Пустой проект.
А задача у меня следующая: закрыть mutex созданный чужим процессом. |
#4
|
||||
|
||||
![]() Архив и проект рабочие, результат показывает детальный список запущенных процессов
З.Ы. Кстати Цитата:
Код:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 16.01.2016 в 20:04. |
#5
|
|||||
|
|||||
![]() Цитата:
Это свой mutex. А чужой? Я уже как неделю мучаюсь. Через procexp запросто можно найти этот мутекс и убить. Я написал dll, и инжектирую её в процесс который создал мутекс. Код dll такой: Код:
И всеравно не работает. Вот мой топик на форуме ваших коллег: http://www.cyberforum.ru/delphi-begi...ad1639687.html |
#6
|
||||
|
||||
![]() Просмотрел дружественную топку, коллеги там вам полность раскрыли тему, набросали инфы - вагон, бери и собирай, в чём загвоздка-то?
З.Ы. Как подсказка, примерный алгоритм-выжимка из тамошних постов: 1) Вызываем OpenMutex - это чтоб убедиться, что он есть плюс определить тип объекта на шаге 3 2) Используем NtQuerySystemInformation с классом SystemHandleInformation=2 для получения списка всех хендлов живущих в системе 3) Ищем в списке хендл открытого мьютекса и определяем его тип посредством ObjectTypeNumber 4) Ищем в списке хендлы мьютексов требуемого процесса по его PID и ObjectTypeNumber 5) Если нашли более одного, то проверяем соответствие заданному имени: OpenProcess + NtQueryObject с классом ObjectNameInformation=1 6) Если нашли соответствие, то убиваем найденный/е хендл/ы вызовом DuplicateHandle c параметром DUPLICATE_CLOSE_SOURCE вроде всё Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 16.01.2016 в 22:43. |
#7
|
|||
|
|||
![]() Цитата:
Вот теперь код моей проги: Код:
Помоги пожалуйста! не работает(( Хочу завершить мутекс у скайпа: ![]() |
#8
|
|||
|
|||
![]() Уже как неделю бьюсь над этой проблемой. Для меня это очень важно! И самое главное, профессиональный кодер даже не смог этого сделать за деньги.
|
#9
|
|||
|
|||
![]() Цитата:
Звучит очень здорово. Но я даже не смог получить список всех хендлов в системе. И топик висит уже сутки об этом, и так никто и не помог даже с этим, не говоря уже о завершении чужого хендла. |
#10
|
||||
|
||||
![]() К сожалению, я здесь вам не помощник - под эмулятором виндов моя среда может лишь создать мьютекс, а вот грохнуть даже свой не получилось, не разрушается его первый хендл и последующие копии никак, что бы я не делал :-(
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#11
|
|||
|
|||
![]() Цитата:
|
#12
|
|||
|
|||
![]() Если еще актуально сделаю недорого
|
#13
|
|||
|
|||
![]() Цитата:
|
#14
|
|||
|
|||
![]() |
#15
|
|||
|
|||
![]() В почту пиши, нет VK у меня
|