Вверх ↑
Этот топик читают: Гость
Ответов: 893
Рейтинг: 18
#1: 2010-07-22 21:49:23 ЛС | профиль | цитата
Встроенный Hiasm(ский) KeyEvent не подходит - так как он посылает ввод клавиш окну имеющему текущий фокус. Мне же надо послать другому окну без переноса фокуса на него. Его хендлы, и все что угодно - есть. Как это сделать? Подскажите механизм.

Сама цель разработки Транслятор нажатий джойстика в нажатия клавиш клавиатуры
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2267
Рейтинг: 676
#2: 2010-07-22 21:57:37 ЛС | профиль | цитата
А что так не устраивает?code_19635.txt
карма: 11

0
файлы: 1code_19635.txt [848B] [659]
Ответов: 893
Рейтинг: 18
#3: 2010-07-22 22:02:47 ЛС | профиль | цитата
sla8a писал(а):
А что так не устраивает


Byuik писал(а):
Встроенный Hiasm(ский) KeyEvent не подходит - так как он посылает ввод клавиш окну имеющему текущий фокус.



sla8a, хотя если ты научиш как послать єтой http://mamedev.org/source/docs/config.txt.html програмулине через свой пример нажатия клавиш, я был бы признателен
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2267
Рейтинг: 676
#4: 2010-07-22 22:30:12 ЛС | профиль | цитата
Byuik, вот 1 программа :code_19636.txt
а вот 2 программа которая посылает нажатие клавише первой: code_19637.txt
Что не так?
карма: 11

0
файлы: 2code_19636.txt [153B] [508], code_19637.txt [392B] [384]
Ответов: 893
Рейтинг: 18
#5: 2010-07-22 22:42:08 ЛС | профиль | цитата
Попробую объяснить , та программа MAME не принимает нажатий данным способом , зато если отправить команду окну то она прекрасно всё исполняет пример
code_19638.txt

Вот и встал вопрос а возможно ли отправить также и нажатие клавиш через SendMessage в других средах разработки такая возможность есть пример [url]http://forum.ixbt.com/topic.cgi?id=26:34308[/url] . А вот как это зделать в Hiasm

Сама цель разработки Транслятор нажатий джойстика в нажатия клавиш клавиатуры
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_19638.txt [694B] [432]
Ответов: 4641
Рейтинг: 334
#6: 2010-07-22 22:44:32 ЛС | профиль | цитата
Byuik писал(а):
через SendMessage
SendMessage
поиграйся с примером
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 893
Рейтинг: 18
#7: 2010-07-22 22:49:32 ЛС | профиль | цитата
Ravilr, пожалуйста не надо превращать форум в сухую справку , я ето читал и знаю про ето.
Всё равно в компоненте не хватает WM_CHAR

карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#8: 2010-07-22 23:07:02 ЛС | профиль | цитата
Byuik писал(а):
Всё равно в компоненте не хватает WM_CHAR

А кто мешает его послать через SendMessage. Это можно сделать, можно, зачем на компоненты навешивать-то
карма: 22

0
Ответов: 893
Рейтинг: 18
#9: 2010-07-22 23:15:19 ЛС | профиль | цитата
nesco, ну подскажи то как послать через SendMessage , чтоб к примеру эмулировать нажатие F2 ? пожалуйста если тебе не сложно.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#10: 2010-07-22 23:26:23 ЛС | профиль | цитата
Byuik, но WM_CHAR посылается окну с фокусом клавиатуры. Фокус надо еще передать тому окну
карма: 22

0
Ответов: 893
Рейтинг: 18
#11: 2010-07-22 23:30:45 ЛС | профиль | цитата
хм ладно єто то я понял , но всётаки как передать через SendMessage нажатие клавиш , никак я не пойму , ато через KeyEvent не выходит , окно попросту не реагирует на него , а вот на SendMessage реагирует , но я не могу передать кнопки в игру , никак не пойму как.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1841
Рейтинг: 369
#12: 2010-07-22 23:33:25 ЛС | профиль | цитата
Byuik, http://hiasm.com/forum.html?q=3&p=142187

p.s. надо бы закрепить топик
карма: 1
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#13: 2010-07-22 23:38:32 ЛС | профиль | цитата
Byuik писал(а):
но всётаки как передать через SendMessage нажатие клавиш

Ну, вот так можно передать WM_CHAR

code_19644.txt
карма: 22

0
файлы: 1code_19644.txt [630B] [514]
Ответов: 893
Рейтинг: 18
#14: 2010-07-23 00:08:17 ЛС | профиль | цитата
Вроди понял , но чегото не выходит , может взгляните чего я тут навоял ?


Add(MainForm,3060753,252,98)
{
Width=261
Height=184
Caption="Пример"
Position=1
Point(Handle)
Point(onKeyDown)
link(onKeyDown,15908421:doMessage,[])
}
Add(Message,15908421,439,119)
{
}
Add(Button,275101,49,210)
{
Left=50
Top=100
Width=140
Height=35
Caption="Отправить сообщение"
link(onClick,16410389:doTimer,[])
}
Add(SendMessage,1736149,252,217)
{
Point(Message)
link(Handle,5021191:Var2,[])
link(WParam,8551881:Var,[])
link(Message,4006274:Var,[])
}
Add(GlobalVar,4006274,273,154)
{
Name="WM_KEYDOWN"
Data=Integer(256)
}
Add(GlobalVar,8551881,259,182)
{
Name="113"
Data=Integer(113)
}
Add(Timer,16410389,98,210)
{
Interval=25
Enable=1
AutoStop=1
link(onTimer,6858563:doEvent1,[])
}
Add(SendMessage,12984738,175,161)
{
Point(Message)
link(Handle,5021191:Var1,[(181,145)])
link(Message,12687146:Var,[])
}
Add(GlobalVar,12687146,196,63)
{
Name="WM_SETFOCUS"
Data=Integer(7)
}
Add(Hub,6858563,147,210)
{
link(onEvent1,12984738:doSendMessage,[(168,216)(168,167)])
link(onEvent2,12500779:doTimer,[])
}
Add(GetDataEx,5021191,252,140)
{
link(Data,3060753:Handle,[])
}
Add(Timer,12500779,196,217)
{
Interval=25
Enable=1
AutoStop=1
link(onTimer,1736149:doSendMessage,[])
}


карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_19645.txt [1.2KB] [415]
Разработчик
Ответов: 26153
Рейтинг: 2127
#15: 2010-07-23 00:48:38 ЛС | профиль | цитата
А вот так у меня работает

code_19649.txt
карма: 22

0
файлы: 1code_19649.txt [1.2KB] [542]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)