Вверх ↑
Этот топик читают: Гость
Ответов: 16
Рейтинг: 8
#1: 2014-12-10 23:19:48 ЛС | профиль | цитата
Вот возник такой вопрос, а не осуществили ли возможность использовать MouseEventKeyEvent с привязкой к Handle
Была б весьма удобной функцией! Если уже есть, то скиньте ссылку! Заранее спасибо!
карма: 1

0
файлы: 1code_34722.txt [2KB] [145]
Ответов: 1343
Рейтинг: 31
#2: 2014-12-11 18:20:44 ЛС | профиль | цитата
Suslik_101 писал(а):
KeyEvent




кто посмел точку Handle из него вырезать


Suslik_101 писал(а):
MouseEvent


а кто нам мешает сравнить перед эмуляцией НУЖНЫЙ НАМ HANDLE и HANDLE под курсором???
------------ Дoбавленo в 18.17:
Add(MainForm,2953706,21,105)
{
}
Add(Memory,4985910,203,112)
{
@Hint=#6:Handle|
AddHint(-75,-38,49,13,@Hint)
}
Add(KeyEvent,2465480,203,196)
{
Code=32
link(Handle,2208386:Var2,[])
}
Add(Button,5011299,126,196)
{
Left=140
Top=180
Caption="emul key"
link(onClick,2465480:doPress,[])
}
Add(MouseEvent,5906635,315,245)
{
Point(Handle)
}
Add(If_else,2303945,245,245)
{
link(onTrue,5906635:doClick,[])
link(Op1,5906635:Handle,[(251,233)(293,233)(293,289)(335,289)])
link(Op2,2208386:Var3,[(258,166)])
}
Add(GetDataEx,2208386,203,161)
{
link(Data,4985910:Value,[])
}
Add(Button,1212147,126,245)
{
Left=140
Top=180
Caption="emul mouse"
link(onClick,2303945:doCompare,[])
}
------------ Дoбавленo в 18.20:
мейкерам
а почему действительно не сделали точку Handle у MouseEvent
карма: 2

0
Ответов: 16
Рейтинг: 8
#3: 2014-12-15 22:45:11 ЛС | профиль | цитата
Rysik, я наверное неправильно выразился))
Меня интересует возможность работы с привязкой по Handle к определенному окну, что бы работало даже с неактивным окном!
И ещё вопрос:Handle в KeyEvent работает лишь с активным окном, если активно иное окно, то сигнал проходит в пустую?:?
карма: 1

0
Ответов: 1343
Рейтинг: 31
#4: 2014-12-16 10:47:49 ЛС | профиль | цитата
Suslik_101 писал(а):
что бы работало даже с неактивным окном!

Suslik_101 писал(а):
MouseEvent


это как же так понимать???
могу предположить, если ты хочешь провести эмуль в Handle КНОПКИ, ЧЕКБОКСА, и прочее... без участия 3D и браузеров, то можно воспользоваться Sendmessage с нажатием пробела, либо соответствующий командой для тех или иных классов элемента куда производится эмуляция, к примеру для нажатия кнопки используется BM_CLICK итд... Команды тут

ну проблема с KeyEvent решаема, путём замены на SendMessage, но в игрушках работать не будет, в чатах прекрасно работает (только вот SendMessage это уже будет не эмуляция КЛАВИШИ а посылка команды в тот или иной handle )

IC посылки клавишь в Handle
Add(InlineCode,15070679,308,2723){
@Hint=#16:TranslateMessage|
WorkPoints=#6:doEmul|
DataPoints=#6:Handle|3:Key|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|40:uses Windows, Messages, kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|12: Handle,|20: Key: THI_Event;|51: procedure doEmul(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|29:procedure THiAsmClass.doEmul;|3:var|12: msg: TMsg;|16: wkey: integer;|5:begin|41: msg.hwnd := ReadInteger(_Data, Handle);|34: wkey := ReadInteger(_Data, Key);|28: msg.message := WM_KEYDOWN;|21: msg.wParam := wkey;|18: msg.lParam := 0;|17: msg.time := 10;|24: TranslateMessage(msg);|4:end;|0:|4:end.|
}
карма: 2

1
Голосовали:Suslik_101
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)