Вверх ↑
Этот топик читают: Гость
Ответов: 876
Рейтинг: 101
#1: 2010-09-06 13:09:54 ЛС | профиль | цитата
Здравие всем, опять если есть время и интерес помогите решить задачку.

Говоря коротко я пытаюсь сделать эмулятор клавиатуры, нажатие заданных кнопок с задержкой.
идея такая, есть список кнопок:
  
код кнопки:задержка в мс
87:100
68:20
65:50
87:100
программа должна пробежаться по списку и нажать кнопки в той же последовательности и с задержкой.
черновая схема внизу.
карма: 1

0
файлы: 1autokey.sha [1.1KB] [142]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2010-09-06 13:25:43 ЛС | профиль | цитата
ну а проблема-то в чем? в организации задержки между нажатиями?
карма: 27
0
Ответов: 876
Рейтинг: 101
#3: 2010-09-06 13:29:41 ЛС | профиль | цитата
Dilma писал(а):
организации задержки между нажатиями?

именно, а если бы еще сделать одновременное нажатие + состояние down,up


карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2010-09-06 14:11:10 ЛС | профиль | цитата
flud писал(а):
именно

тогда следующий еще более оригинальный вопрос: чем для организации задержки не подходит элемент Задержка ?
карма: 27
0
Ответов: 876
Рейтинг: 101
#5: 2010-09-06 14:30:25 ЛС | профиль | цитата
он не работает или я не умею им пользоваться

Add(Button,3908643,140,63)
{
Left=10
Top=10
Caption="test"
link(onClick,15302431:doEvent1,[])
}
Add(TimeCounter,10320694,322,63)
{
link(onStop,3819376:doAdd,[])
}
Add(Hub,15302431,203,63)
{
link(onEvent1,10320694:doStart,[])
link(onEvent2,4901083:doSleepMks,[])
}
Add(ListBox,3819376,399,70)
{
Left=10
Top=35
Height=115
}
Add(Sleep,4901083,252,70)
{
Delay=100
link(onSleep,10320694:doStop,[])
}
---
нашел рабочую альтернативу MMTimer

карма: 1

0
Ответов: 1841
Рейтинг: 369
#6: 2010-09-06 15:04:24 ЛС | профиль | цитата
ну вот так можно...

Add(MainForm,12168162,224,210)
{
Point(onKeyDown)
}
Add(KeyEvent,11768513,636,273)
{
link(Handle,3655344:Handle,[])
link(Code,14344336:Part1,[(649,265)(676,265)(676,314)(447,314)])
}
Add(Memo,3655344,615,198)
{
Left=149
Top=29
Width=85
Height=230
Font=[Tahoma,8,0,0,204]
AddType=1
Point(Handle)
}
Add(Button,1874364,220,259)
{
Left=149
Top=4
Width=90
Font=[Tahoma,8,0,0,204]
Caption="start"
Data=String(-1)
link(onClick,5973990:doEvent1,[])
}
Add(StrList,4390682,380,216)
{
Strings=#4:87:1|6:68:200|6:65:500|6:87:100|
}
Add(Counter,12616030,347,273)
{
Max=9999999
Default=-1
Point(doValue)
link(onNext,3362814:doRead,[])
}
Add(ArrayRW,3362814,394,273)
{
link(onRead,14344336:doSplit,[])
link(Array,4390682:Array,[])
}
Add(LineBreakEx,3750535,579,280)
{
Caption="next"
}
Add(Hub,9927001,317,273)
{
InCount=2
OutCount=1
link(onEvent1,12616030:doNext,[])
}
Add(LineBreakEx,11493039,263,280)
{
Caption="next"
Type=1
link(OnEvent,9927001:doEvent2,[])
}
Add(MultiStrPart,14344336,441,273)
{
Char=":"
Count=1
link(onSplit,11818475:doEvent1,[])
}
Add(Hub,5973990,266,259)
{
link(onEvent1,12616030:doValue,[(308,265)(308,300)])
link(onEvent2,9927001:doEvent1,[(298,272)(298,279)])
}
Add(Hub,11818475,487,273)
{
link(onEvent1,2450287:doDelay,[(517,279)(517,293)])
link(onEvent2,2450287:doStart,[(517,286)(517,279)])
}
Add(Thread,2450287,532,273)
{
Delay=0
FastStop=0
BusyEvent=1
Point(doDelay)
link(onExec,11768513:doPress,[])
link(onSyncExec,3750535:doWork,[])
}
исправил
карма: 1
1
Голосовали:flud
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2010-09-06 15:08:38 ЛС | профиль | цитата
flud писал(а):
он не работает или я не умею им пользоваться

в 95% аналогичных случаев оказывается верным третий вариант: автор не умеет читать. И этот не исключение
Sleep.ini писал(а):
Delay=... или микросекунд (для doSleepMks), которое необходимо подождать


карма: 27
0
Ответов: 1841
Рейтинг: 369
#8: 2010-09-06 15:11:49 ЛС | профиль | цитата
вот так ещё короче:
code_20424.txt
карма: 1
1
файлы: 1code_20424.txt [1.5KB] [139]
Голосовали:flud
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)