Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

VB.NET: отловить комбинацию клавиш

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> VB.NET: отловить комбинацию клавиш
Имя
Сообщение << Старые топики   Новые топики >>
VB.NET: отловить комбинацию клавиш - 2009-05-28 09:45:49.413333   
mishok

Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
пишу прогу, которая будет снимать скриншоты…
на PrintScreen получилось надрессировать ее, а вот на Alt+PrtSC не получается… Перечитал кучу материала - не могу ничего найти нормального и понятного… Как отловить комбинацию клавиш?

Вот код, чтобы отловить просто клавишу:

Private Declare Function Getasynckeystate Lib "user32" Alias "GetAsyncKeyState" (ByVal VKEY As Long) As Integer
Private Const VK_CAPITAL = &H14

Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Do While Flag = True
Dim keystate = Getasynckeystate(System.Windows.Forms.Keys.PrintScreen)
If (keystate And &H1) = &H1 Then
'бла-бла-бла - в общем, что будем делать =)
End If
Loop
End Sub

Да помогите, люди добрые, очень надабно! :D 8|
Post #: 1
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 14:36:39.570000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
У тебя код не отлавливает, а проверяет. Правильнее это делать через хуки.
Post #: 2
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 14:39:33.110000   
mishok

Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
ну проверяет… факт в том, что работает =)
через хуки не нашел примеров - тока на делфи - я его не знаю и не очень то понятно, что к чему…
А таким способом никак не достичь желаемого результата?
Post #: 3
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 16:10:22.243333   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
Не знаю, устроит ли тебя мой совет, но попробуй покурить в сторону перехвата прерываний и биосовского хука 15h. Если что, то когда юзер жмет PrtScr, то срабатывает прерывание 5h кажись, точно не помню, но факт в том что срабатывает.
Post #: 4
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 16:15:06.173333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
А без примеров - никак? :D

ZMaster, какие нафиг прерывания!??! Он под винду пишет.
Post #: 5
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 16:20:40.816666   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
quote:

ZMaster, какие нафиг прерывания!??! Он под винду пишет.

А под виндой разве прерывания биоса не работают?
mishok, если конечно, мое предыдущее предложение не верно, то остается только тебе курить в сторону хуков виндовских, смотри API функцию SetWindowHookEx и к ней прилагающиеся.
Post #: 6
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 23:02:52.160000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
А ты попробуй прерывания под виндой :D
Post #: 7
RE: VB.NET: отловить комбинацию клавиш - 2009-05-30 08:00:32.336666   
mishok

Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
Zmaster, спс, буду курить функцию… уже конеш не надо, но для себя полезно будет =)))
_SaZ_, можно поподробнее про прерывания? интересно…
Post #: 8
RE: VB.NET: отловить комбинацию клавиш - 2009-05-31 01:03:10.483333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Что именно интересно?
Post #: 9
RE: VB.NET: отловить комбинацию клавиш - 2009-05-31 23:31:50.270000   
mishok

Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
да погуглил уже… разберусь как-нить сам на досуге…
Post #: 10
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> VB.NET: отловить комбинацию клавиш







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.