Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Хочу разобраться с "KeyDown"


Автор: MozgZombi 9.1.2011, 06:50
Расскажите мне пожалуйста по подробнее про KeyDown просто я ещё новичок и не понимаю как сделать сочетание из клавиш например Ctrl+H, и ещё мне хочется узнать как сделать так что-бы если программа была свёрнута она бы всё равно реагировала на это сочетание клавиш, заранее спасибо 

Автор: iff 9.1.2011, 15:47
KeyDown всмысле событие? И вам нужно чтобы если нажали Ctrl+H, то программа что то делала...
Код

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If Shift = 2 And KeyCode = 72 Then
        MsgBox "Нажато Ctrl+H!"
        'Ваш код
    End If
End Sub


Цитата(MozgZombi @  9.1.2011,  06:50 Найти цитируемый пост)
если программа была свёрнута она бы всё равно реагировала на это сочетание клавиш, заранее спасибо  

С этим сложнее потому что код нажатой клавиши отправляется другой программе. Здесь событие "Form_KeyDown" не поможет нужна API-функция. (Какая? Поищите в по запросу "VB6 keylogger" - видел исходники и статьи гдето по этому поводу)

Автор: MozgZombi 15.1.2011, 18:05
мм.. а как узнать код например клавиши Alt, Ctrl

Автор: iff 15.1.2011, 20:07
Попробуйте поэкспериментировать: в переменную KeyCode заносится код клавиши, а в переменную Shift - то, с "чем она нажималась" (т.е. контр, альт или шифт и т.д.)
Код

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox "Shift=" & Shift & VbCrLf & "Keycode=" & Keycode
End Sub

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)