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

User Tag List

Страница 67 из 183 ПерваяПервая ... 636465666768697071 ... ПоследняяПоследняя
Показано с 661 по 670 из 1824

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

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А также в "более глючных" со всеми остальными программами
    Все остальные программы не устанавливают глобальный хук клавиатуры и не позволяют своим окнам индивидуально управлять разрешением/запрещением передачи кодов системных клавиш в Windows.

    Авторы Windows 8 решили эмулировать клик по кнопке [Start] через фейковое нажатие клавиши <Win>, но при этом забыли, что при клике за пределами окна надо сначала забрать у окна фокус и только потом выполнить фейковое нажатие.

    Потому и получается, что в полном соответствии с логикой работы модульного API эмулятора - установленный окном терминала запрет на передачу кодов системных клавиш в Windows продолжает действовать и фейковое нажатие не проходит.
    Последний раз редактировалось Patron; 07.04.2015 в 17:34.

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

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Все отстальные программы не устанавливают глобальный хук клавиатуры
    Ошибочка. Тестирую именно с такой программой. Причем настолько криво устанавливающей хук, что даже предотвращает например переключение CapsLock в системе когда окно и не выбрано... Что касается фейкового нажатия Win, то в моем понимании тогда эмулятор должен отработать Start как Win, чего не происходит.

    ---------- Post added at 20:37 ---------- Previous post was at 20:35 ----------

    Могу предположить что эмулируется нажатие чего-то другого и где-то оно документировано...
    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. #663
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ошибочка. Тестирую именно с такой программой.
    Потестируйте на Вин8 EmuStudio. Она тоже ставит хук клавиатуры и отменяет нажатие клавиши Win.

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Потестируйте на Вин8 EmuStudio.
    А можно ссылку сразу на скачивание чтобы не перелопачивать темы?
    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. #665
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А можно ссылку сразу на скачивание чтобы не перелопачивать темы?
    http://zx.pk.ru/attachment.php?attachmentid=40948

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    тогда эмулятор должен отработать Start как Win, чего не происходит.
    Коды, вырабатываемые системными клавишами в окне терминала - задаются в файле Terminal.ini :

    Код:
    ANSI_STR_FOR_KEY[F10] = "\033\010"
    
    ANSI_STR_FOR_KEY[LCtrl] = "\016"
    ANSI_STR_FOR_KEY[RCtrl] = "\017"
    ANSI_STR_FOR_KEY[LWin]  = "\016"
    ANSI_STR_FOR_KEY[RWin]  = "\017"
    ANSI_STR_FOR_KEY[LAlt]  = "\016"
    ANSI_STR_FOR_KEY[RAlt]  = "\017"
    
    ANSI_STR_FOR_KEY[Apps]  = "\012"
    Цитата Сообщение от form Посмотреть сообщение
    Могу предположить что эмулируется нажатие чего-то другого и где-то оно документировано...
    Терминал блокирует только следующие клавиши:

    Код:
    	pConfigI->Disable_diKey_PassThru( DIK_LMENU    );
    	pConfigI->Disable_diKey_PassThru( DIK_RMENU    );
    	pConfigI->Disable_diKey_PassThru( DIK_LWIN     );
    	pConfigI->Disable_diKey_PassThru( DIK_RWIN     );
    	pConfigI->Disable_diKey_PassThru( DIK_APPS     );
    	pConfigI->Disable_diKey_PassThru( DIK_F10      );
    	pConfigI->Disable_diKey_PassThru( DIK_NUMLOCK  );
    	pConfigI->Disable_diKey_PassThru( DIK_CAPSLOCK );
    	pConfigI->Disable_diKey_PassThru( DIK_SCROLL   );
    Для всех остальных кодов клавиш - поведение глобального хука в окнах терминала и консоли не отличается.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Для всех остальных кодов клавиш - поведение глобального хука в окнах терминала и консоли не отличается
    Вдаваться в это не хочется. Я рассуждаю так (может и неверно): если тычок в старт эмулирует нажатие клавиши Win, то эмулятор должен откликнуться на него как на нажатие клавиши Win (то есть выдать код CTRL/N). Этого не происходит - следовательно здесь не все так просто.

    ---------- Post added at 20:52 ---------- Previous post was at 20:50 ----------

    И как бы в доказательство тому...
    Цитата Сообщение от Titus Посмотреть сообщение
    Потестируйте на Вин8 EmuStudio. Она тоже ставит хук клавиатуры и отменяет нажатие клавиши Win
    Все отлично работает - 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

  9. #668
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Все отлично работает - Win перехватывается и не отдается в систему, тычок мышкой в Start прекрасно работает как обычно.
    Тогда попробуйте еще одну версию EmuStudio, эмулятор Союз-Неон. Она ставит не только хук клавиатуры, но и мышки (клик в окно, отбирает системную мышь).
    http://sderni.ru/269139

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Тогда попробуйте еще одну версию EmuStudio, эмулятор Союз-Неон. Она ставит не только хук клавиатуры, но и мышки (клик в окно, отбирает системную мышь).
    Тут тоже все работает если мышка не отобрана. Ну а если отобрана - по понятным причинам ей нельзя ткнуть в старт
    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

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

    По умолчанию

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

    Кстати, нашлось ещё одно отличие - терминал блокирует автоповтор для системных клавиш:

    Код:
    	pConfigI->Disable_diKey_AutoRepeat( DIK_LMENU );
    	pConfigI->Disable_diKey_AutoRepeat( DIK_RMENU );
    	pConfigI->Disable_diKey_AutoRepeat( DIK_LWIN );
    	pConfigI->Disable_diKey_AutoRepeat( DIK_RWIN );
    	pConfigI->Disable_diKey_AutoRepeat( DIK_NUMLOCK );
    	pConfigI->Disable_diKey_AutoRepeat( DIK_SCROLL );
    	pConfigI->Disable_diKey_AutoRepeat( DIK_CAPSLOCK );

    Но это вообще никак не должно влиять, потому что хук сам определяет автоповтор и не может выбросить первое нажатие:

    Код:
    byte KeyState     = (cFlags ^ 0x80) & 0x80;
    byte KeyStatePrev = pSharedData2->diKeys[ diKey ];
    pSharedData2->diKeys[ diKey ] = KeyState;
    
    bool bAutoRepeat_Disabled = pSharedData2->abDisabled_AutoRepeat_diKeys[diKey];
    
    if( cFlags >= 0 && (KeyStatePrev & 0x80) && bAutoRepeat_Disabled )
    {// Запрет дальнейшей обработки автоповтора нажатия в Windows.
          return 1;	
    }

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

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

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

Эту тему просматривают: 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

Ваши права

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