{{notification.text}}

MirGames

22.05.06 14:46
0
Как прочитать текст в буфере я пользовал Windows.GetKeyboardState не получается
#1
аксакал
22.05.06 19:41
0
Я пробовал GetKeyboardState получается.
#2
23.05.06 15:24
0
Когда я юзаю и не нажимаю клавиши, некоторые все равно считаются нажатыми.

Обясняю: запускаю программу, не трогаю клаву пару секунд, нажимаю Ф12
и просматриваю состояние переменной клавиши A,D от раза к разу считаются нажатыми т.е. на их месте в массиве стоят единицы(я так понимаю нажаты). Массив я очищал. и все равно остается как есть. То есть когда я оттуда буду забирать данные у меня постоянно будет нажата А,D и т.д.

Поэтому спрашиваю есть ли какие еще процедуры для работы с буффером клавиатуры(чтоб считывать текст)?
Отредактировано: 23.05.06 15:27
#3
аксакал
23.05.06 17:00
0
Это всё сказки или проделки кривых рук.
Есть сообщение WM_CHAR
#4
MirGames Dev
23.05.06 17:18
0
Цитата
на их месте в массиве стоят единицы(я так понимаю нажаты)

вообще-то, по идее на их месте в массиве должно стоять 128 :))) т.е. 0x10000000 :)
#5
24.05.06 15:59
0
Черт приведт кто-нить код или нет.

128 появляется когда держу, т.е. нажал и тут же отпустил не меняется (попробую частоту таймера поднять, когда дома буду )

мой код:

getkeyboardstate(p);
for i:=65 to 91 do
if p[i]>1 then pack.strData := pack.strData+char(i);

вобщем работает но буквы часто повторяет по два раза.

Про WM_Char подробнее плз.
#6
аксакал
25.05.06 01:09
0
Sanitar
Сколько опросов с задержанной клавишей - столько и букв.
WM_CHAR
#7
26.05.06 14:16
0
Mef создается эффект залипания, т.е. некоторые буквы печатаются дважды, но уже в разы лучше.

Почему есть значения 1 и 0 ?.

Всем спасибо.
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}