VB.NET: отловить комбинацию клавиш
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
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|
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 14:36:39.570000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
У тебя код не отлавливает, а проверяет. Правильнее это делать через хуки.
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 14:39:33.110000
|
|
|
mishok
Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
|
ну проверяет… факт в том, что работает =) через хуки не нашел примеров - тока на делфи - я его не знаю и не очень то понятно, что к чему… А таким способом никак не достичь желаемого результата?
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 16:10:22.243333
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
Не знаю, устроит ли тебя мой совет, но попробуй покурить в сторону перехвата прерываний и биосовского хука 15h. Если что, то когда юзер жмет PrtScr, то срабатывает прерывание 5h кажись, точно не помню, но факт в том что срабатывает.
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 16:15:06.173333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
А без примеров - никак? :D ZMaster, какие нафиг прерывания!??! Он под винду пишет.
|
|
|
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 и к ней прилагающиеся.
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-28 23:02:52.160000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
А ты попробуй прерывания под виндой :D
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-30 08:00:32.336666
|
|
|
mishok
Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
|
Zmaster, спс, буду курить функцию… уже конеш не надо, но для себя полезно будет =))) _SaZ_, можно поподробнее про прерывания? интересно…
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-31 01:03:10.483333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Что именно интересно?
|
|
|
RE: VB.NET: отловить комбинацию клавиш - 2009-05-31 23:31:50.270000
|
|
|
mishok
Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
|
да погуглил уже… разберусь как-нить сам на досуге…
|
|
|
|
|