Конференция "WinAPI" » Проверка нажатия клавиши F1 внезапно срабатывает на клавише P [D6, WinXP]
 
  • e1_romeo (16.08.12 11:52) [0]
    Вот таким кодом осуществляется проверка:

       Result := (AMessage.wParam = VK_F1) and
         (AMessage.message >= WM_KEYFIRST) and
         (AMessage.message <= WM_KEYLAST);



    Он возвращает false для любой клавиши, но внезапно true для F1 и P. Есть какие-нибудь соображения?
  • ProgRAMmer Dimonych © (16.08.12 15:20) [1]
    > [0] e1_romeo   (16.08.12 11:52)

    Какое сообщение обрабатывается? Не WM_CHAR затесалось случайно?
  • e1_romeo (16.08.12 23:23) [2]
    да, все верно, замена
        (AMessage.message >= WM_KEYFIRST) and
        (AMessage.message <= WM_KEYLAST);


    на
        (AMessage.message = WM_KEYUP);


    решило проблему.
  • ProgRAMmer Dimonych © (17.08.12 09:57) [3]
    > [2] e1_romeo   (16.08.12 23:23)

    Костыль? Какая задача вообще решается?
 
Конференция "WinAPI" » Проверка нажатия клавиши F1 внезапно срабатывает на клавише P [D6, WinXP]
Есть новые Нет новых   [134430   +4][b:0][p:0.001]