Событие нажатия клавиши

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Degger, 10 May 2012.

  1. Degger

    Degger New Member

    Joined:
    20 Aug 2010
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Использую для определения состояния клавиши (нажата или нет) вот эту функцию: GetKeyState..подскажите как в консольном приложении постоянно отслеживать нажали ли определенную клавишу или нет..циклы использовать неудобно..есть дли другой вариант?
     
  2. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    тут Хм, можно попробывать while(!kbhit()) - отслеживает была ли нажата вообще какая либо кнопка на клавиатуре.Ну а в цикле уже прописать условие на определение. Цикл вынести в отдельный поток. Вообще без использования циклов - не знаю как сделать, можешь ещё прочитать о SetWindowsHookEx() .
     
  3. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Почему циклы - не удобно? Подробнее, пожалуйста.
     
  4. Degger

    Degger New Member

    Joined:
    20 Aug 2010
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    при использовании циклов кушается достаточно много оперативной памяти..а важен как размер файла так и объем использование программой оперативной памяти..поэтому и стараюсь писать на API-
     
  5. MTV

    MTV New Member

    Joined:
    16 Feb 2011
    Messages:
    180
    Likes Received:
    2
    Reputations:
    0
    Хуки как уже сказали...
     
  6. Degger

    Degger New Member

    Joined:
    20 Aug 2010
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    насколько я понял эта функция служит для инициирования например функции в которой содержится мой код?..а как это можно на delphi реализовать?..можете пожалуйста хотя бы примерно описать как все должно быть в программе?