| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Закрыть чужой Mutex |
| Автор: Romы4 4.7.2009, 12:04 |
| Проблема заключается в том чтобы убить мьютекс чужой программы, зная его имя....как создать и закрыть мьютекс я знаю, но с чужим проблема-я не знаю его хэндл |
| Автор: Romikgy 4.7.2009, 13:18 | ||||
+
PS имхо читай мсдн |
| Автор: Romы4 4.7.2009, 13:27 |
| release вроде не может закрыть мьютикс, только через closehandle, а вот какой хэндл у созданого мьютикса я хз как определить Добавлено через 4 минуты и 39 секунд если не сложно, напишите пример |
| Автор: Romы4 4.7.2009, 16:02 | ||
пробывал так:
но реакции никакой, мутекс при нажатии кнопки 2 создается, но при нажатии кнопки 1 должен по идее вернуть хандл в mutex1 и закрыть mutex, но не закрывает |
| Автор: MetalFan 4.7.2009, 19:28 |
| такими методами никак ты этот мютекс не прибьешь. тут я вижу два варианта: 1. "высокоуровневый" - внедряться во все процессы, где это мютекс открыт... нет, наверное это фантастика 2. "низкоуровневый" - писать драйвер, который будет грохать нужный мютекс на уровне ядра... |
| Автор: Riply 4.7.2009, 22:15 |
| MetalFan, вроде, можно и не внедряясь, но все равно остается фантастикой учитывая проблемы, которые возникали у автора. |
| Автор: MetalFan 6.7.2009, 22:21 | ||
а ежели приложение наше запускается после искомого. а если неизвестно, какое приложение создает мютекс?) |
| Автор: Romы4 7.7.2009, 11:01 |
| известно приложение, точное имя процесса, точное имя мьютекса......расковырял идой приложение в 32-битном формате, нашел где вызывается создание мьютекса....собрать обратно правда не смог((( |
| Автор: Romikgy 7.7.2009, 20:47 |
| забей нопами вызов CreateMutex )) |
| Автор: dumb 7.7.2009, 22:49 |
| Romы4, просто выложи куда-нибудь .exe'шник, а мы посмотрим. |
| Автор: Romы4 8.7.2009, 10:10 |
| лан ребят, забете, придется все выкладывать (5 гигов))))....загасил имя мьютекса через winhex-сделал его пустым....эта сволочь все-равно не позволяет вторую копию запустить |
| Автор: dumb 8.7.2009, 17:45 |
| .exe'шник 5-гиговый?! не нужно все, нужен только .exe |
| Автор: Romikgy 8.7.2009, 17:48 |
| надо забить само создание мутекса , а так он создает с именем все пробелы! |
| Автор: superwolf 10.11.2009, 07:06 | ||||
Romikgy а как вычислить создание мьютекса подскажите плз! Как должен выглядеть хук? я так понимаю что нужно вызывать хук вот так:
где:
но как внутри функции hook2 отловить именно функцию CreateMutex?? Какой должен быть wParam здесь, чтобы отловить ее? |
| Автор: bems 10.11.2009, 08:23 |
| superwolf, нет, это не тот хук. Просто название термина так же зучит, а смысл другой. |
| Автор: superwolf 10.11.2009, 08:30 |
| Вообщем вся задача сводится к одному вопросу: "Как не дать чужому приложению создать мьютекс, для того чтобы оно не смогло потом запретить запустить несколько своих копий?" |