Леонид у меня клик 1 так и не заработал. все так же жмет всего 1 раз. Add(Keyboard,1636610,301,112) { Key=1 Point(ToggleState) link(onReadKey,7629201:doCompare,[]) } Add(Timer,10251937,217,112) { Interval=100 Enable=1 link(onTimer,1636610:doReadKey,[]) } Add(If_else,7629201,357,112) { Op2=Integer(1) link(onTrue,13341447:doEvent1,[]) link(onFalse,11799870:doData,[]) } Add(Timer,1046365,798,238) { Interval=20 Enable=1 Point(doInterval) link(onTimer,14779423:doEvent1,[]) } Add(MainForm,462163,-14,161) { Width=689 Height=236 Caption="Escape from Tarkov" Point(MouseX) Point(MouseY) Point(onMouseDown) link(onCreate,2115473:doEvent1,[]) } Add(MouseEvent,12174754,939,301) { Point(onVisible) } Add(Label,2127031,980,238) { Left=240 Top=10 link(Text,9671515:Count,[(986,233)(954,233)(954,282)(923,282)]) } Add(CounterEx,9671515,917,238) { link(onNext,2127031:doText,[]) } Add(Hub,14779423,854,238) { link(onEvent1,9671515:doNext,[]) link(onEvent2,6200667:doEvent,[(886,251)(886,307)]) } Add(Edit,7154849,736,104) { Left=115 Top=10 Width=70 Text="160" DataType=2 link(onChange,8937960:doData,[(774,110)(774,144)(724,144)(724,159)]) } Add(Edit,15875145,833,105) { Left=115 Top=45 Width=70 Text="5" DataType=2 link(onChange,3546290:doData,[(877,111)(877,132)(821,132)(821,153)]) } Add(Label,763817,694,104) { Left=15 Top=10 Width=81 Height=20 Font=[MS Sans Serif,10,1,0,1] Caption="Интервал:" } Add(Label,11631645,788,105) { Left=15 Top=45 Width=95 Height=20 Font=[MS Sans Serif,10,1,0,1] Caption="количество " } Add(DoData,8937960,736,153) { link(onEventData,1046365:doInterval,[(783,159)(783,258)]) link(Data,7154849:Text,[]) } Add(DoData,3546290,833,147) { link(Data,15875145:Text,[]) } Add(Hub,2115473,35,175) { link(onEvent1,11002180:doStartHotKey,[]) link(onEvent2,11385087:doStartHotKey,[(67,188)(67,230)]) } Add(If_else,14512747,539,238) { Op2=Integer(1) link(onTrue,1046365:doTimer,[]) link(onFalse,14941580:In,[(585,251)(585,293)]) link(Op1,1127353:Var,[]) } Add(Memory,11409604,539,112) { Default=Integer(0) link(onData,14512747:doCompare,[(590,118)(590,195)(492,195)(492,244)]) } Add(GHotKey,11002180,84,175) { Key=112 link(onEventHotKey,14075264:In,[]) } Add(GHotKey,11385087,84,224) { Key=113 link(onEventHotKey,5156018:doEvent1,[]) } Add(Memory,3921280,413,63) { Default=Integer(0) } Add(Hub,13341447,497,112) { InCount=2 OutCount=1 link(onEvent1,11409604:doValue,[]) } Add(DoData,11799870,413,119) { Data=Integer(0) link(onEventData,13341447:doEvent2,[]) link(Data,3921280:Value,[]) } Add(LineBreak,9126124,679,245) { Caption="stop" link(Out,1390784:doEvent1,[]) Primary=[11045071,-268,14] } Add(LineBreak,7866490,163,98) { Caption="start" link(Out,10251937:doTimer,[(206,104)(206,118)]) Primary=[14075264,3,77] } Add(LineBreak,13163025,166,119) { Caption="stop" link(Out,10251937:doStop,[]) Primary=[9338732,13,105] } Add(Hub,5156018,147,224) { link(onEvent1,9338732:In,[]) link(onEvent2,11045071:In,[(171,237)(171,265)]) } Add(Debug,1127353,539,154) { link(Data,11409604:Value,[]) } Add(LineBreak,11211317,658,287) { Caption="stop" link(Out,1390784:doEvent2,[(721,293)(721,258)]) Primary=[14941580,-58,0] } Add(Hub,1390784,756,245) { InCount=2 OutCount=1 link(onEvent1,1046365:doStop,[(794,251)(794,251)]) } Add(Debug,6200667,903,301) { link(onEvent,12174754:doClick,[(927,307)(927,307)]) }
Add(MainForm,13376086,259,189) { Point(onClose) Point(onKeyDown) link(onCreate,2317400:SetHook,[]) link(onClose,2317400:UnHook,[]) } Add(InlineCode,2317400,301,203) { WorkPoints=#7:SetHook|6:UnHook| EventPoints=#7 nKeyUp|9 nKeyDown|10 nSysKeyUp|12 nSysKeyDown|8 nRepeat| Code=#15:unit HiAsmUnit;|0 9:interface|0 38:uses kol,Share,Debug,Windows,Messages;|0 4:type|28: THiAsmClass = class(TDebug)|10: private|40: procedure onKey(param,code:integer);|9: public|65: onKeyUp,onKeyDown,onSysKeyUp,onSysKeyDown,onRepeat:THI_Event;|4: |46: procedure SetHook(var dt:TData; Idx:WORD);|45: procedure UnHook(var dt:TData; Idx:WORD);|5: end;|0 14:implementation|0 5:const|21: WH_KEYBOARD_LL = $D;|22: KBH_KEYREPEAT = $DD;|4:var |12: Hook:HHOOK;|45: ret:procedure(param,code:integer) of object;|0 4:type|24: LLKBH_STRUCT = record|11: vkCode,|13: ScanCode,|10: Flags,|15: Time WORD;|23: dwExtraInfo DWORD;|7: end;|33: PLLKBH_STRUCT = ^LLKBH_STRUCT;|1: |28:var kbh_struct:LLKBH_STRUCT;|0 82:function HookProc(Code: integer; wParam:integer;lParam: LongInt): HRESULT;stdcall;|21:var kbh:LLKBH_STRUCT;|5:begin|44: kbh:=LLKBH_STRUCT(PLLKBH_STRUCT(lParam)^); |122: if (kbh_struct.vkCode = 0) and (kbh_struct.ScanCode = 0) and (kbh_struct.Flags = 0) then ret(wParam,kbh_struct.vkCode); |44: if kbh.Flags <> kbh_struct.Flags then begin|37: kbh_struct:=PLLKBH_STRUCT(lParam)^; |31: ret(wParam,kbh_struct.vkCode);|51: end else ret(KBH_KEYREPEAT,kbh_struct.vkCode); |55: result := CallNextHookEx(Hook, Code, wParam , lParam);|4:end;|0 30:procedure THiAsmClass.SetHook;|5:begin|25: with kbh_struct do begin|12: vkCode:=6;|14: ScanCode:=6;|11: Flags:=5;|5: end;|12: ret:=onKey;|64: Hook := SetWindowsHookEx(WH_KEYBOARD_LL,@HookProc,HInstance,0);|4:end;|0 28:procedure THiAsmClass.onKey;|5:begin|16: Case Param of|45: WM_KEYDOWN :_hi_OnEvent(onKeyDown,code);|43: WM_KEYUP :_hi_OnEvent(onKeyUp,code);|48: WM_SYSKEYDOWN:_hi_OnEvent(onSysKeyDown,code);|46: WM_SYSKEYUP :_hi_OnEvent(onSysKeyUp,code);|44: KBH_KEYREPEAT:_hi_OnEvent(onRepeat,code);|9: end; |4:end;|0 29:procedure THiAsmClass.UnHook;|5:begin|27: UnhookWindowsHookEx(Hook);|4:end;|0 4:end.| link(onKeyUp,3658577:doWork1,[]) link(onKeyDown,3658577:doWork2,[]) link(onSysKeyUp,3658577:doWork3,[]) link(onSysKeyDown,3658577:doWork4,[]) link(onRepeat,3658577:doWork5,[]) } Add(ListBox,11565061,525,168) { Left=125 Top=35 Width=205 Height=180 } Add(StrList,4095676,427,161) { Strings=#15:Опущена клавиша|14:Нажата клавиша|25:Опущена системная клавиша|24:Нажата системная клавиша|20:Удерживается клавиша| Point(doGetString) Point(onGetString) link(onGetString,9575750:doString,[]) } Add(ChanelToIndex,3658577,350,203) { Count=5 Point(Data) link(onIndex,4095676:doGetString,[]) } Add(FormatStr,9575750,469,168) { link(onFString,11565061:doAdd,[]) link(Str2,3658577 ata,[(482,156)(419,156)(419,247)(356,247)]) } как проверить зажата ли клавиша на мышке или нет. Редактировалось 3 раз(а), последний 2018-11-25 18:15:33
|