Имя: Пароль:
1C
 
Имитация нажатия кнопок
Ø
0 ilgiz
 
12.05.05
18:00
Могет кто-нить подскажет как симитировать визуальное нажатие кнопки
1 Муму после всплытия
 
12.05.05
18:02
эка вас колбасит.................. прям не по детски
2 Smitt
 
12.05.05
18:02
Где-то у меня валялось. Если дома найду, завтра кину.
3 КонецЦикла
 
12.05.05
18:02
У, какой активный!
http://www.sinor.ru/~my1c/knowhow/prikolis.html
5 Smitt
 
12.05.05
18:07
4 - Собственно (3) у меня и валялось ;)))
6 Sure2
 
12.05.05
18:09
Посмотри:
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=5061<br>Далее показываешь поочерёдно нажатую кнопку и отжатую кнопку.
7 smaharbA
 
12.05.05
18:11
а можно и не имитировать а "нажать" открываешь форму (на ней на кажной кнопке хоткей) вызываешь ремотескрипт и жмешь им по кнопкам...
9 ilgiz
 
12.05.05
18:25
(6) :) прикольно, ее я искал по памяти. Только я что-то не понял как это сделано :)))
10 Sure2
 
12.05.05
18:32
(9) А в обсуждении автор обещал выложить конфигурацию с объяснениям на свою страничку. Посмотри.
11 smaharbA
 
12.05.05
18:33
в 1Сэ
WSHShell = CreateObject("WScript.Shell");
Заг="1С:Предприятие - "+Метаданные.Идентификатор+": "+ЗаголовокСистемы();
WSHShell.AppActivate(Заг);
Задержка="200"; //тута задержка милисек
Кей="^+{ENTER}"; //тута клавиша
aScript = WSHShell.run("WScript.exe "+КаталогИБ()+"SendKey.vbs //B "+Задержка+" "+Клавиша+" "+Заг,0,0);
....
в скрипте sendkey.vbs
....
Set WSHShell = WScript.CreateObject("WScript.Shell")
tX=WScript.Arguments.Unnamed.Item(0)
Key=WScript.Arguments.Unnamed.Item(1)
app=WScript.Arguments.Unnamed.Item(2)
WSHShell.AppActivate app
WScript.Sleep tX
WSHShell.SendKeys(Key)
WSHShell.AppActivate app
12 АЛьФ
 
12.05.05
18:37
2(9) Просто стиль реквизитов изменен в описании диалога.
13 ilgiz
 
12.05.05
18:46
(6) (12) ну дык программно не получится таким способом.
15 smaharbA
 
12.05.05
18:58
пишешь в модуле формы первое что написано в 11, создаешь файло sendkey.vbs туда вторую часть и располагаеши его в каталоге базы(где МД), кнопке(ам) делаешь на форме "горячую клавишу" и записываешь ее(их) в Кей(переменная в части 1Сэ) вызываешь приоткрытии() ну только тогда задержку поболее или есче откудова и жмет она у тебя (реально) на кнопки (конечно эфекта нажатия визуального небудет)
пример
Кей="^+{F5}" контрл+Ф5
16 ilgiz
 
12.05.05
19:15
(11) а в перем "Клавиша" что сувать?
aScript = WSHShell.run("WScript.exe "+КаталогИБ()+"SendKey.vbs //B "+Задержка+" "+Клавиша+" "+Заг,0,0);
17 smaharbA
 
12.05.05
19:17
извини Клавиша это и есть Кей...
18 ilgiz
 
12.05.05
19:29
(17) получилось, прикольно. Только визуального нажатия к сожалению нет.
19 smaharbA
 
12.05.05
19:31
(18) дак тебе АЛьФ подсказал, повешай поверх кнопок картинки, а кнопку скрой, картинку меняй до нажатия одна после другая на какоето время, потом снова первая, вот и визуальность, еще кручее кнопки будет...
20 smaharbA
 
12.05.05
19:35
а вобще это решение (со скриптом) не очч, 1Сэ затормозит, а скрип-то не знает об этом и нажмет раньше, хотя если подумать можно наверно сделать чтоб жмал только когда 1Сэ "отвечает"
21 АЛьФ
 
12.05.05
19:39
Господа, а вы в курсе, что с точки зрения Винды нажатие/отпускание кнопки - это всего лишь показ двух разных картинок? Зачем заморачиваться и извращаться с объектом "Кнопка", если все можно красиво и легко сделать через объект "Картинка"?
22 smaharbA
 
12.05.05
20:01
(21) В курсе, конечно в курсе, винда вся - большая картинка... Можно жмать и без иммитации, то есть выполнить код и все, но иногда надо, вот как-то надо было отправить все файлы wma из каталога, а у респондента ящик ограничен (но там я сам сервер почтовый строил на диалапе через час почту гоняет) а на машине откудова отправлял тока МСотлук, а он гад на любые действия с ним орет, а хто енто собствено в мое нутро лезет, сделал нажатия клавишь с задержкой и отправку кажного файла через час десять и програмить почти ненадо было (все всш), да в реестр на этом компе лазить снимать безопасность нельзя было...
23 ilgiz
 
12.05.05
20:15
Дело в том, что используя клавиатуру с режимами загл, малые, лат и рус я хочу запрограммировать 34*4 = 136 блюд. Далее, в теории я хочу удаленно менять меню и соответственно картинки.
Процесс предполагаю такой: С помощью FormEx отлавливать код клавиши и добавлять в чек (ну как обычно) и чтобы визуально внизу для справки в зависимости от раскладки и капс лока били на кнопках видны рисуночки блюд и принажатии кнопки, соответствующей блюду у меня каким-то образом давало знать в внизу для справки соответствено выделялась кнопка. Что-то похожее есть в Windows-е.
24 АЛьФ
 
12.05.05
20:17
2(23) Ууууу... Будь проще - поставь сенсорный экран. Не так уж это сейчас дорого.
25 ilgiz
 
12.05.05
20:31
Ну скажем, то что я хочу сделать и сенсорный экран будет поддерживать, только вот сенсорный экран если его самому не собирать дорогой выходит, вроде ~ 40 т.р.
26 ilgiz
 
12.05.05
20:36
АЛьФ, используя FormEx процедура ПриНажатииКнопкиКлавиатуры не срабатывает, работает только в глобальнике. Хотя в синтаксисе она должна работать и в мод. форме. Что не так?
27 ilgiz
 
12.05.05
20:38
(26) понял в чем трабла, ... запарился
28 Тертый
 
12.05.05
21:35
27) Понял - напиши в чем была проблема и как ее решить, чтоб другие не натыкались на те же грабли :)
29 ilgiz
 
13.05.05
08:00
(27) если в глобальнике, то так:
ПриНажатииКнопкиКлавиатуры(конт, код, _а, _ш, _к, Сим, фсо)
если в модуле формы, то так
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, Сим, фсо)
(24)В als надо бы разрабобтчикам тоже подправить синтаксис
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший