Важная информация

User Tag List

Страница 68 из 183 ПерваяПервая ... 646566676869707172 ... ПоследняяПоследняя
Показано с 671 по 680 из 1824

Тема: Эмулятор ДВК

  1. #671
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Что не просто - это уже понятно.
    Ну теперь есть за что зацепиться - EmuStudio тоже перехватывает, в том числе Win, но не препятствует нормальной работе кнопки Start.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  2. #672
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну теперь есть за что зацепиться
    Да, если Windows 8 посылает фейковое нажатие сразу после отбора фокуса, то обработчик сообщения об отборе фокуса в терминале может не успеть снять запрет обработки клавиши ( это происходит в середине обработчика ). Однако, адрес приёмника сообщений о нажатых клавишах обработчик ( похоже ) очистить уже успевает ( это происходит в самом начале обработчика ), поэтому фейковое нажатие и не приходит из хука в терминал.

    Если так, то достаточно добавить в глобальный хук синхронизацию с обработчиком отбора фокуса в терминале, чтобы фейковое нажатие обрабатывалось как надо.

  3. #673
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    фейковое нажатие
    Интересно было бы еще отловить что нажимается если это самое нажатие есть. Мы уже выяснили как я понял, что нажатие Win не эмулируется так как эмулятор его не отрабатывает... Просто для информации.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #674
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Мы уже выяснили как я понял, что нажатие Win не эмулируется так как эмулятор его не отрабатывает...
    Это не совсем так - хук отправляет коды клавиш в активное окно, HWND которого должна сообщить программа.

    При приходе сообщения об отборе фокуса - терминал сразу очищает HWND в хуке и потом начинает одну за другой снимать блокировки клавиш.

    Поэтому возможна такая ситуация, что если код клавиши <Win> приходит в хук одновременно с началом выполнения обработчика отбора фокуса в терминале - то терминал не получает код <Win> потому, что уже очистил HWND в хуке, а хук выбрасывает фейковое нажатие, потому что терминал ещё не успел снять блокировку.

    ---------- Post added at 19:42 ---------- Previous post was at 19:25 ----------

    Цитата Сообщение от form Посмотреть сообщение
    Интересно было бы еще отловить что нажимается если это самое нажатие есть.
    Тест глобального хука клавиатуры GlobalKeyboardHook_Test сообщает обо всех нажатиях в системе. Программа автоматически завершается через 20 сек после старта, поэтому при запуске вывод можно перенаправлять в файл.

  5. #675
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Тест глобального хука клавиатуры GlobalKeyboardHook_Test сообщает обо всех нажатиях в системе.
    На тычки в Start не реагирует, его срабатыванию не препятствует.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #676
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    На тычки в Start не реагирует.
    Если правильно понимаю, при тычках в Start - курсор в терминале эмулятора продолжает мигать и заголовок окна эмулятора остаётся "активным". Получается, что при клике за пределами окна - фокус не забирается.
    Последний раз редактировалось Patron; 07.04.2015 в 21:12.

  7. #676
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #677
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если правильно понимаю, при тычках в Start - курсор в терминале эмулятора продолжает мигать и заголовок окна эмулятора остаётся "активным". Получается, что при клике за пределами окна - фокус не забирается.
    Все хитрее. Фокус забирается и мгновенно возвращается обратно. Но только один раз. При следующем тычке фукус забирается и уже не возвращается назад, но на тычки не реагирует.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  9. #678
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Все хитрее. Фокус забирается и мгновенно возвращается обратно. Но только один раз. При следующем тычке фукус забирается и уже не возвращается назад, но на тычки не реагирует.
    Тогда понятнее.

    В модульном API не меньше хаков, чем в Windows. Поскольку меню в эмуляторе выводятся отдельными окнами, то чтобы главное окно при появлении меню не теряло статус "активного" - идёт сложная обработка сообщения WM_NCACTIVATE с возможностью вызова SetFocus().

    Такие дебри надо отлаживать вживую. Придётся установить в виртуальную машину ещё и Windows 8.1
    Последний раз редактировалось Patron; 07.04.2015 в 21:38.

  10. #679
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А также в "более глючных" со всеми остальными программами
    И всё же это глюк Windows 8.

    Суть проблемы в том, что если в Windows 8.1, при нахождении фокуса ввода в любой программе, курсор наведён на кнопку [Start] и при этом возникает событие клавиатуры - Windows начинает всевозможно глючить. Если кликнуть любой кнопкой мыши по кнопке [Start] и сразу после этого нажать любую клавишу - тычок останется безответным, а фокус ввода тут же вернётся в окно последней активной программы.

    Эмулятор позволяет выявить этот глюк тогда, когда в терминале горят лампочки [Caps Lock] и/или [Num Lock]. Терминал при потере фокуса выключает эти лампочки. Но так как выключение лампочек в Windows осуществляется фиктивными нажатиями на соответствующие клавиши, то возникновение события клавиатуры вскоре после тычка по кнопке [Start] - приводит к немедленному проявлению Start-глюка Windows 8.1 "во всей красе".

  11. #680
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    И всё же это глюк Windows 8
    А может это глюк нечтения документированных изменений? А то и рекомендаций времен еще Win9x о том как надо поступать вместо "вот так тоже можно"

    PS. Не утверждаю, просто из обыта - 99% глюков так разрешлись на моей памяти
    PPS. Независимо от того глюк или нет, мы имеем уже три программы которые и перехватывают и не блокируют Start...
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

Страница 68 из 183 ПерваяПервая ... 646566676869707172 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 19
    Последнее: 24.06.2022, 08:02
  2. Эмулятор ПЗУ.
    от ALKO в разделе Память
    Ответов: 8
    Последнее: 17.05.2011, 13:41
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 09:01
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 18:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •