Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Отлов набора слова. (http://forum.oszone.net/showthread.php?t=284416)

ikif 01-07-2014 12:44 2370625

Отлов набора слова.
 
День добрый,
Решил сделать всякие фишки для упрощения работы за компом. Одна из них :
Набор "calc" в любом месте/положении и последующим открытием калькулятора поверх всех окон.
Проблема в отлове набора "calc".
пока реализовал так :
Код:

Func WordCatch()
Local $c=  _IsPressedEX("c")
Local $a=  _IsPressedEX("a")
Local $l=  _IsPressedEX("l")
;Local $alfa= _IsPressedEX("[:ALPHA:]")
If $c And $caunt=0 Then
  $caunt=1
EndIf
If $a And $caunt=1  Then
  $caunt=2
EndIf
If $l And $caunt=2  Then
  $caunt=3
EndIf
If $c And $caunt=3  Then
  $caunt=0
  RunCalc()
EndIf
EndFunc

Но это не спасает от таких вещей как например :"calfdsdfsdfsdc" , поэтому при наборе в Ворде периодически будет открываться калькулятор. С _IsPressedEX("[:ALPHA:]") не получилось отсеивать.
Такое впечатление , что после нажатия буквы , она остается в буффере какое то время и может опять быть опознана как нажатая.

Думаю как переделать эту функцию на универсальную - послал целое слово , вернулось rtue/false.

Заранее благодарен.

madmasles 01-07-2014 20:55 2370819

ikif,
ИМХО, надо задавать таймер и, если заданное время не вышло, составлять строку из нажатых клавиш, если вышло, то обнулять строку, и добавить контрольную клавишу после нажатия которой слово из сохраненной строки сравнивать с заданными эталонами и после этого производить заданные действия.

ikif 02-07-2014 13:29 2371070

Таймер , по моему не очень подходит под человеческий фактор.
А могу напечатать "calc" не спеша , а "cat lick cake" :) быстро.

madmasles 02-07-2014 17:16 2371156

Цитата:

Цитата ikif
Таймер , по моему не очень подходит под человеческий фактор. »

Если Вы нажмете "c", через полчаса "a", а еще через полчаса "lc", забыв уже про первых два нажатия, то Вам вряд ли понравится внезапно открывшийся калькулятор, ИМХО. :)

ikif 02-07-2014 20:05 2371225

Я наверно вас не очень понимаю. У вас есть пример кода ?
И как составить строку из нажатых клавиш , чтобы было возможным распознать то самое слово ?

Я думал организовать это , как продвижение по положениям - нажал "с" - шаг вперед, нажал "а" - еще шаг , .... , нажал "что то другое" обнуление. Но такое впечатление , что _IsPressedEX() выдает несколько раз TRUE на одно лишь нажатие клавиши.

madmasles 02-07-2014 21:43 2371261

ikif,
ИМХО, Вам надо получать нажатые клавиши на основе этого: Примера перехвата вводимых символов с клавиатуры.

ikif 03-07-2014 12:01 2371467

Спасибо !!!


Время: 21:15.

Время: 21:15.
© OSzone.net 2001-