1. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.

SendMessage Helper

Тема в разделе "Мастерская", создана пользователем AxXxB, 21 фев 2015.

  1. AxXxB неадекват

    AxXxB

    Хелпер

    Регистрация:
    13 ноя 2006
    Сообщения:
    1.580
    Программа SendMessage Helper предназначена для обхода зависания некоторых программ, связанных с вызовом ими функции WINAPI SendMessage с первым параметром HWND_BROADCAST - широковещательной рассылкой сообщения. Этим, в частности, грешит инсталлятор InstallShield.

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

    Симптомы для инсталлятора InstallShield таковы - запускаем установку, а никаких окошек не появляется. При этом в диспетчере задач видно, что SETUP.EXE выполняется. Для других программ зависание будет проявляться аналогично (хотя кроме InstallShield я пока таких программ не встречал).

    Программа работает в системах Windows XP/Vista/7/8, как 32-битных, так и в 64-битных.


    Инструкция по работе с программой - пожалуйста, прочитайте внимательно!

    После установки программы в меню "Пуск" и на рабочем столе (если вы не сняли соответствующую галочку) появится ярлык с названием SendMessage Helper. Он запускает программу с таким окном. Элементы окна:

    1. Список с неотвечающими на сообщение окнами (на скриншоте пустой). Из-за этих окон и может случится зависание других программ. В квадратных скобках после имени окна находится имя файла процесса.

    2. Кнопка Kill Process - убивает процесс, который является владельцем выбранного в списке окна. При нажатии на кнопку сначала появляется подтверждение (диалоговое окно с кнопками Да/Нет).

    3. Кнопка Close Window - пытается закрыть выбранное в списке окно, не убивая процесс. Обычно не работает, поскольку окно висит. При нажатии на кнопку сначала появляется подтверждение (диалоговое окно с кнопками Да/Нет).

    4. Кнопка Activate DLL Interceptor - включает специальный модуль-перехватчик. О нем подробнее позже.

    5. Кнопка Exit - выход из программы.

    Итак, чтобы справиться с зависшими окнами из списка, есть три метода - убить процесс через Kill Process, попробовать закрыть окно через Close Window, и запустить модуль-перехватчик. Следует использовать первые два метода, но если по каким-то причинам это нежелательно, то можно запустить перехватчик. Что же это такое?

    Если коротко, то после нажатия на кнопку "Activate DLL Interceptor" специальный модуль присоединяется ко всем запускаемым процессам и перехватывает пресловутую SendMessage, так, чтобы при ее отправке процесс не зависал. Перехватчик не присоединяется к тем процессам, которые уже были запущены до нажатия на кнопку "Activate...", поэтому после активирования нужно запустить зависшую программу заново.

    Когда перехватчик присоединен к процессу, и процесс пытается разослать широковещательное сообщение через SendMessage, перехватчик показывает предупреждение с выбором. Можно согласиться с перехватом или отказаться - во втором случае программа будет работать как обычно, в первом SendMessage подменяется и зависания происходить уже не будет.

    После запуска зависшей программы перехватчик желательно отключить, нажав на кнопку "Deactivate DLL Interceptor", появившейся вместо "Activate DLL Interceptor". Если этого не сделать, перехватчик останется активным после выхода из программы, и даже после перезагрузки системы (его можно будет отключить, запустив SendMessage Helper снова). С перехватчиком могут не работать некоторые приложения (например, Skype).

    Перехватчик (не вся программа, а только модуль-перехватчик) не работает в 32-битных системах с 16-битными приложениями. С 64-битными приложениями в 64-битных системах не работает тоже.
     

    Вложения:

    Последнее редактирование модератором: 19 июл 2015
    Eraser, unreal doom, Sharp_ey и 5 другим нравится это.
  2.  
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление