Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Клавиатура Добавлено: 07.01.10 17:14  

Автор вопроса:  not Understand

Ребят, а кроме как кроме воспользоваться АПИ не как нельзя следить за клавиатурой?? (за всем вводом на ней)

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #1
Добавлено: 07.01.10 17:29
в VB нет таких функций.

Ответить

Номер ответа: 2
Автор ответа:
 not Understand



Вопросов: 2
Ответов: 9
 Профиль | | #2 Добавлено: 07.01.10 18:39
Муха :) Так в контре авп называлась раньше вроде.
Слушай, а приведи пример если можешь, или кто может.
Это кажется GetAsyncKeyState ?

Ответить

Номер ответа: 3
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 08.01.10 00:20
Private kbdmap(255) As Boolean
'Реагирует на нажатие клавиши (при удержании клавиши срабатывает постоянно с некоторым промежутком времени)
Public Function kbdKeyPush(ByRef key As Byte) As Boolean
    If (GetAsyncKeyState(key) And -32767) = -32767 Then kbdKeyPush = True
End Function
'Всегда TRUE при удержании клавиши
Public Function kbdKeyHold(ByRef key As Byte) As Boolean
    If (GetAsyncKeyState(key) And -32768) = -32768 Then kbdKeyHold = True
End Function

'Как kbdKeyPush но срабатывает один раз для одного нажатия клавиши
Public Function kbdKeyOnce(ByRef key As Byte) As Boolean
    If (GetAsyncKeyState(key) And -32768) = -32768 Then
        If Not kbdmap(key) Then kbdKeyOnce = True
        kbdmap(key) = True
    Else
        kbdmap(key) = False
    End If
End Function

Но круче использовать низкоуровневый hook клавиатуры, только делать это надо в отдельном потоке (я сделал вообще отдельным приложением, чтоб не париться с мультитредингом и вообще получается надежней)

Ответить

Номер ответа: 4
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #4 Добавлено: 08.01.10 02:01
Когда я такое сделал это назвали костылем.

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 08.01.10 02:52
Smith, следить за клавиатурой с помощью GetAsyncKeyState? ну в какой-то мере костыль) Есть еще функция GetKeyboardState, но она работает не глобально, если свернуть программу, то кранты. Хук - это лучшее я считаю. Хотя тоже хрень какая-то)

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 08.01.10 03:03
:) нет, костылем назвали отдельную прогу вместо потока.

Ответить

Номер ответа: 7
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 08.01.10 13:15
Smith, а если основная программа зависнет из-за чего-нибудь. Хуковый поток выживет? А то получим подвисание клавиатуры(мыши) до тех пор пока до венды не дойдет, что ВСЁ ПОВИСЛО.
Воот, ну а если приложение только хуком занимается, то чего ему виснуть)

Ответить

Номер ответа: 8
Автор ответа:
 not Understand



Вопросов: 2
Ответов: 9
 Профиль | | #8 Добавлено: 08.01.10 13:49
Спс рубят. Winand
 тебе в отдельности

Ответить

Номер ответа: 9
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #9 Добавлено: 08.01.10 18:55
Winand да я ничего не имею против, я точно так и делал.

Ответить

Номер ответа: 10
Автор ответа:
 not Understand



Вопросов: 2
Ответов: 9
 Профиль | | #10 Добавлено: 08.01.10 20:18
\Ребят, я в АПИ вообще нуб. А можно еще пример. В примере не понял где идет запись в файл? Мне нужно чтобы когда я построил свою программу и запихнул ее в автозагрузку, то она бы записывала все нажатия на клаву. Вообще все!!!!! И пожалуйста ребят, я действительно в апи не фига не понимаю, можно реальный пример, оч нужно. За ранее спс

Ответить

Номер ответа: 11
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 08.01.10 20:19
Smith, посредством чего общался с основной программой?

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 08.01.10 21:08
Сначала DDE, но потом с обнаружил, что в зверях сервис отключен и перешел на апи

Ответить

Номер ответа: 13
Автор ответа:
 not Understand



Вопросов: 2
Ответов: 9
 Профиль | | #13 Добавлено: 10.01.10 23:24
игнорщики :(

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам