Как заставить неактивное приложение перехватить нажатие клавиши? - VB
Формулировка задачи:
Надо чтобы программа выполняла какую-нибудь команду (например останавливала и обратно включала таймер, ну, скажем по F12). Но чтобы это могло происходить, когда приложение не активно или даже minimized. У меня в связи с этим никаких идей. Извините, я новичек.
Спасибо.
Решение задачи: «Как заставить неактивное приложение перехватить нажатие клавиши?»
textual
Листинг программы
''Эта API функция позволяет получать код нажатой клавиши в независимости от активности приложения Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Function GetPressedKey() As Long ''Эта процедурка будет возвращать код нажатой клавиши Dim Cnt As Long ''Здесь мы будем хранить этот самый код For Cnt = 32 To 128 '' до 32 идут служебные символы, а после 128 - дополнительные, поэтому исключаем их из цикла If GetAsyncKeyState(Cnt) <> 0 Then '' в случае, если ни одна клавиша не нажата GetAsyncKeyState возвращает 0 GetPressedKey = Cnt Exit For ''Выход из процедуры End If Next Cnt End Function Sub Timer1_Timer() If GetPressedKey = "123" Then MsgBox "Вы нажали F12, берегите природу мать вашу!!!" '' 123-код клавиши F12 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д