Вверх ↑
Этот топик читают: Гость
Ответов: 138
Рейтинг: 2
#1: 2017-12-24 12:30:26 ЛС | профиль | цитата
Задумка такая
Есть Ардуино, к ней подключен мосфет-транзистор, который рулит светодиодной летной, которая служит в качестве подсветки для клавы
Часто забываю отключать подсветку
И вот тут родилась такая идея
При включении подсветки Ардуино отправляет символ в программу, начинается отсчёт по истечению которого отправляется ещё символ , но уже в ардуину и она отключает ленту
Потом вспомнил, что в Hiasm'e есть keyhook и решил сделать так: если нажата любая клавиша во время работы таймера, то таймер сбрасывается и начинается новый отсчет, то есть если не будет нажата какая-нибудь клавиша по истечению заданного время, лента отключается
только вот не хочет работать Хук за пределами папки hiasm
Я подставлял Hook.ddl и из папки windows, hiasm, даже пытался из Plug, но не хочет работать
Папка hiasm находится на диске C в ProgrammFiles
А моя программа на Диске D
И даже с Правами Админа не хочет работать
Антивирус у меня всегда отключен (* он есть, но я им не пользуюсь)
карма: 0
私はアニメが大好き
0
vip
#1.1контекстная реклама от партнеров
Ответов: 138
Рейтинг: 2
#2: 2017-12-24 18:09:09 ЛС | профиль | цитата
И что самое интересное не работает только в моей программе!
Add(MainForm,1500570,105,77)
{
Width=133
Height=39
Visible=1
Caption="Ping localhost"
Point(Handle)
link(onCreate,5481620:doEvent1,[])
}
Add(Ini,13896480,441,259)
{
FileName="SIT.ini"
Section="COMspeed"
Key="COMspeed"
link(onResult,16693327:doCompare,[])
}
Add(Ini,3131760,420,329)
{
FileName="SIT.ini"
Section="COMport"
Key="COMport"
link(onResult,5486467:doData,[(464,335)(464,323)(359,323)(359,335)])
}
Add(COMEX,4082497,371,385)
{
DTR=1
RTS=1
Point(onOpen)
Point(onError)
Point(onClose)
Point(doRXClear)
link(onSyncRead,14287879:doEvent1,[(475,405)(475,398)])
link(Port,5486467:GetData,[])
link(BaudRate,10905079:GetData,[])
link(onOpen,12303477:In,[])
link(onError,16270800:In,[])
link(onClose,7489040:In,[])
}
Add(LineBreak,14560067,511,539)
{
Caption="Player"
link(Out,7026629:doEvent1,[])
Primary=[11138918,133,-112]
}
Add(Hub,14287879,546,392)
{
OutCount=8
link(onEvent1,7881638:doWork2,[(584,398)(584,195)])
link(onEvent2,131909:doValue,[])
link(onEvent3,9077209:doPart,[(609,412)(609,307)])
link(onEvent5,13587115:doMultiReplace,[])
link(onEvent6,11138918:In,[])
link(onEvent8,14691142:In,[(609,447)(609,468)])
}
Add(MultiReplace,13587115,742,420)
{
Mode=1
link(onResult,12086259:doExec,[])
link(ReplaceList,4890113:Text,[])
}
Add(WinExec,12086259,784,420)
{
}
Add(Hub,5481620,175,91)
{
link(onEvent1,5046149:In,[])
link(onEvent2,8732081:doWork1,[(316,104)])
}
Add(MultiElementEx,7026629,595,539)
{
link(Data,131909:Value,[])
AddHint(28,73,15,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,15601419,21,14)
{
WorkCount=#8:doEvent1|6:doFind|
DataCount=#4:Data|
Width=762
Height=536
link(doEvent1,1604802:doEvent1,[(84,20)(84,125)])
link(doFind,9346543:doEvent1,[(199,27)(199,62)])
}
Add(FindWindow,1593706,504,49)
{
ClassName="AIMP2_RemoteInfo"
SkipParam=1
link(onFind,14227396:doCompare,[])
}
Add(FindWindow,10296752,441,56)
{
ClassName="AIMP.exe"
link(onFind,1593706:doFindChild,[])
}
Add(SendMessage,11820741,504,175)
{
Message=1
Point(Message)
link(Handle,7906447:Var2,[])
link(WParam,6035954:Value,[])
link(Message,11364012:Text,[(531,158)(580,158)])
}
Add(VisualStrings,11364012,574,112)
{
Lines=#4:1141|
}
Add(Memory,6035954,511,98)
{
}
Add(StrList,943397,336,119)
{
Strings=#2:18|2:14|2:17|0:|0:|0:|0:|
Point(doGetString)
Point(onGetString)
link(onGetString,2827077:doEvent1,[(404,132)(404,174)])
}
Add(Hub,2827077,434,168)
{
link(onEvent1,6035954:doValue,[(470,174)(470,104)])
link(onEvent2,10709031:doWork2,[])
}
Add(ChanelToIndex,2869401,245,161)
{
Count=3
link(onIndex,965654:doEvent1,[])
}
Add(Hub,1604802,119,119)
{
OutCount=6
link(onEvent1,1012004:doCompare,[(140,125)(140,104)])
link(onEvent2,12563700:doCompare,[(140,132)(140,153)])
link(onEvent3,9309559:doCompare,[(140,139)(140,202)])
link(onEvent4,14070600:doCompare,[(140,146)(140,286)])
link(onEvent5,16095412:doCompare,[(140,153)(140,349)])
link(onEvent6,8236400:doCompare,[(133,489)])
}
Add(If_else,1012004,154,98)
{
@Hint=#1:<|
Op1=String(<)
link(onTrue,2869401:doWork1,[(219,104)(219,167)])
link(Op2,2216596:Var2,[])
AddHint(56,-25,21,13,@Hint)
}
Add(If_else,12563700,154,147)
{
@Hint=#2:PS|
Op1=String(PS)
link(onTrue,2869401:doWork2,[(233,153)(233,174)])
link(Op2,8314231:Var2,[])
AddHint(74,-12,29,13,@Hint)
}
Add(If_else,9309559,154,196)
{
@Hint=#1:>|
Op1=String(>)
link(onTrue,2869401:doWork3,[(219,202)(219,181)])
link(Op2,2270546:Var2,[])
AddHint(-82,7,21,13,@Hint)
}
Add(If_else,14070600,175,280)
{
@Hint=#1:-|
Op1=String(-)
link(onTrue,5135129:doPress,[(254,286)(254,258)])
link(Op2,2749053:Var2,[(188,270)(167,270)])
AddHint(-99,7,18,13,@Hint)
}
Add(If_else,16095412,175,343)
{
@Hint=#1:+|
Op1=String(+)
link(onTrue,3828447:doPress,[(237,349)(237,377)])
link(Op2,10988798:Var2,[(188,334)(167,334)])
AddHint(-94,6,21,13,@Hint)
}
Add(If_else,8236400,138,483)
{
@Hint=#2:-+|
Op1=String(-+)
link(onTrue,16562268:doFindName,[])
link(Op2,10988798:Var1,[(151,334)])
AddHint(-69,6,24,13,@Hint)
}
Add(GetDataEx,2270546,161,182)
{
link(Data,8314231:Var1,[(167,160)(158,160)(158,138)])
}
Add(GetDataEx,10988798,161,329)
{
link(Data,2749053:Var1,[(167,293)(158,293)(158,257)])
}
Add(GetDataEx,2216596,161,77)
{
link(Data,15601419:Data,[(167,63)(27,63)])
}
Add(GetDataEx,8314231,161,133)
{
link(Data,2216596:Var1,[(167,115)(158,115)(158,82)])
}
Add(GetDataEx,2749053,161,252)
{
link(Data,2270546:Var1,[(167,216)(161,216)(161,187)])
}
Add(Hub,9346543,259,56)
{
link(onEvent1,6275424:doWork2,[])
link(onEvent2,14036678:In,[])
}
Add(Registry,2980264,525,420)
{
HKey=2
Key="SOFTWARE\Clients\Media\AIMP\shell\open\command"
link(onRead,14953014:doValue,[])
}
Add(WinExec,10318314,574,476)
{
link(FileName,14953014:Value,[])
}
Add(Memory,14953014,574,420)
{
}
Add(LineBreak,11251757,483,420)
{
link(Out,2980264:doRead,[])
Primary=[14036678,-154,-357]
}
Add(EnumProcess,16562268,329,462)
{
Name="AIMP.exe"
Point(onFind)
Point(onNotFind)
Point(doFindName)
link(onFind,2635960:doPress,[(377,475)(377,405)])
link(onNotFind,10318314:doExec,[])
}
Add(VisualStrings,11638514,511,224)
{
Lines=#4:1141|
}
Add(SendMessage,14059769,490,280)
{
Message=1
LParam=1
Point(Message)
link(onSend,14209029:doCompare,[])
link(Handle,7906447:Var1,[(496,145)])
link(Message,11638514:Text,[])
}
Add(GetDataEx,7906447,504,140)
{
link(Data,1593706:Handle,[])
}
Add(If_else,14209029,560,280)
{
Type=4
Op2=Integer(1)
link(onTrue,963534:doWork1,[(614,286)(614,251)])
link(onFalse,10988644:doEvent1,[])
}
Add(Hub,965654,287,161)
{
OutCount=3
link(onEvent1,943397:doGetString,[])
link(onEvent2,14059769:doSendMessage,[(395,174)(395,286)])
}
Add(HubEx,6275424,392,56)
{
link(onEvent,10296752:doFind,[])
}
Add(If_else,14227396,567,49)
{
Type=4
Op2=Integer(1)
link(onTrue,6862149:doCompare,[])
}
Add(ChanelToIndex,963534,637,245)
{
link(onIndex,9084697:In,[])
}
Add(Hub,10988644,602,287)
{
link(onEvent1,963534:doWork2,[(626,293)(626,258)])
link(onEvent2,6275424:doWork3,[(708,300)(708,164)(396,164)])
}
Add(If_else,6862149,630,49)
{
Op1=Integer(1)
link(onTrue,2897520:In,[])
link(Op2,5543792:Value,[])
}
Add(Memory,5543792,637,0)
{
}
Add(LineBreak,12961593,574,0)
{
link(Out,5543792:doValue,[])
Primary=[9084697,112,245]
}
Add(LineBreak,3210312,434,203)
{
link(Out,10709031:doWork3,[(473,209)])
Primary=[2897520,245,-154]
}
Add(HubEx,10709031,469,175)
{
link(onEvent,11820741:doSendMessage,[])
}
Add(KeyEvent,5135129,301,252)
{
Code=174
link(Handle,2637615:Value,[])
}
Add(Memory,2637615,301,210)
{
Default=Integer(0)
Point(Data)
}
Add(KeyEvent,3828447,280,371)
{
Code=175
link(Handle,4712869:Value,[])
}
Add(Memory,4712869,280,322)
{
Default=Integer(0)
Point(Data)
}
Add(MultiElement,9109087,357,329)
{
}
BEGIN_SDK
Add(EditMulti,9443824,14,14)
{
WorkCount=2
Width=601
Height=452
link(doWork1,2072440:doPrev,[(227,20)(227,83)])
link(doWork2,2072440:doNext,[(207,27)(207,76)])
}
Add(Timer,1847231,154,210)
{
Interval=100
AutoStop=10
link(onTimer,15314805:doEvent1,[])
}
Add(Math,7249571,217,105)
{
OpType=2
Op2=0.01
link(onResult,16759049:doSetVolume7,[])
}
Add(DoData,8073512,273,210)
{
link(onEventData,3565093:doOperation,[])
link(Data,16759049:VolumeLevel,[])
}
Add(Math,3565093,329,210)
{
OpType=2
Op2=100
ResultType=0
link(onResult,12321054:doCompare,[])
}
Add(InlineCode,16759049,273,105)
{
WorkPoints=#12:doSetVolume7|
VarPoints=#11:VolumeLevel|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|63:uses Debug, Share, Windows, Kol, ActiveX, ActiveKOL, KOLComObj;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|55: procedure doSetVolume7(var _Data:TData; Index:word);|54: procedure VolumeLevel(var _Data:TData; Index:word);|7: end;|0:|5:const|77:CLASS_IMMDeviceEnumerator : TGUID = '{BCDE0395-E52F-467C-8E3D-C4579291692E}';|75:IID_IMMDeviceEnumerator : TGUID = '{A95664D2-9614-4F35-A746-DE8DB63617E6}';|65:IID_IMMDevice : TGUID = '{D666063F-1587-4E43-81F1-B948E807363F}';|75:IID_IMMDeviceCollection : TGUID = '{0BD7A1BE-7A1A-44DB-8397-CC5392387B5E}';|76:IID_IAudioEndpointVolume : TGUID = '{5CDF2C82-841E-4546-9722-0CF74078229A}';|78:IID_IAudioMeterInformation : TGUID = '{C02216F6-8C67-4B5B-9D00-D008E73E0064}';|84:IID_IAudioEndpointVolumeCallback : TGUID = '{657804FA-D6AD-4496-8A60-352752AF4F89}';|0:|32:DEVICE_STATE_ACTIVE = $00000001;|35:DEVICE_STATE_UNPLUGGED = $00000002;|36:DEVICE_STATE_NOTPRESENT = $00000004;|33:DEVICE_STATEMASK_ALL = $00000007;|1: |4:type|21:EDataFlow = TOleEnum;|1: |5:const|20:eRender = $00000000;|21:eCapture = $00000001;|17:eAll = $00000002;|33:EDataFlow_enum_count = $00000003;|1: |4:type|17:ERole = TOleEnum;|1: |5:const|21:eConsole = $00000000;|24:eMultimedia = $00000001;|28:eCommunications = $00000002;|29:ERole_enum_count = $00000003;|1: |4:type|50:IAudioEndpointVolumeCallback = interface(IUnknown)|42:['{657804FA-D6AD-4496-8A60-352752AF4F89}']|4:end;|1: |42:IAudioEndpointVolume = interface(IUnknown)|42:['{5CDF2C82-841E-4546-9722-0CF74078229A}']|100:function RegisterControlChangeNotify(AudioEndPtVol: IAudioEndpointVolumeCallback): Integer; stdcall;|102:function UnregisterControlChangeNotify(AudioEndPtVol: IAudioEndpointVolumeCallback): Integer; stdcall;|57:function GetChannelCount(out PInteger): Integer; stdcall;|92:function SetMasterVolumeLevel(fLevelDB: single; pguidEventContext: PGUID): Integer; stdcall;|98:function SetMasterVolumeLevelScalar(fLevelDB: single; pguidEventContext: PGUID): Integer; stdcall;|70:function GetMasterVolumeLevel(out fLevelDB: single): Integer; stdcall;|76:function GetMasterVolumeLevelScalar(out fLevelDB: single): Integer; stdcall;|112:function SetChannelVolumeLevel(nChannel: Integer; fLevelDB: double; pguidEventContext: PGUID): Integer; stdcall;|118:function SetChannelVolumeLevelScalar(nChannel: Integer; fLevelDB: double; pguidEventContext: PGUID): Integer; stdcall;|90:function GetChannelVolumeLevel(nChannel: Integer; out fLevelDB: double): Integer; stdcall;|94:function GetChannelVolumeLevelScalar(nChannel: Integer; out fLevel: double): Integer; stdcall;|77:function SetMute(bMute: Boolean; pguidEventContext: PGUID): Integer; stdcall;|55:function GetMute(out bMute: Boolean): Integer; stdcall;|88:function GetVolumeStepInfo(pnStep: Integer; out pnStepCount: Integer): Integer; stdcall;|66:function VolumeStepUp(pguidEventContext: PGUID): Integer; stdcall;|68:function VolumeStepDown(pguidEventContext: PGUID): Integer; stdcall;|76:function QueryHardwareSupport(out pdwHardwareSupportMask): Integer; stdcall;|132:function GetVolumeRange(out pflVolumeMindB: double; out pflVolumeMaxdB: double; out pflVolumeIncrementdB: double): Integer; stdcall;|4:end;|1: |44:IAudioMeterInformation = interface(IUnknown)|42:['{C02216F6-8C67-4B5B-9D00-D008E73E0064}']|4:end;|1: |36:IPropertyStore = interface(IUnknown)|4:end;|1: |31:IMMDevice = interface(IUnknown)|42:['{D666063F-1587-4E43-81F1-B948E807363F}']|37:function Activate(const refId: TGUID;|16:dwClsCtx: DWORD;|28:pActivationParams: PInteger;|61:out pEndpointVolume: IAudioEndpointVolume): Hresult; stdCall;|98:function OpenPropertyStore(stgmAccess: DWORD; out ppProperties: IPropertyStore): Hresult; stdcall;|55:function GetId(out ppstrId: PLPWSTR): Hresult; stdcall;|56:function GetState(out State: Integer): Hresult; stdcall;|4:end;|1: |1: |41:IMMDeviceCollection = interface(IUnknown)|42:['{0BD7A1BE-7A1A-44DB-8397-CC5392387B5E}']|4:end;|1: |43:IMMNotificationClient = interface(IUnknown)|42:['{7991EEC9-7E89-4D85-8390-6C703CEC60C0}']|4:end;|1: |41:IMMDeviceEnumerator = interface(IUnknown)|42:['{A95664D2-9614-4F35-A746-DE8DB63617E6}']|125:function EnumAudioEndpoints(dataFlow: EDataFlow; deviceState: SYSUINT; DevCollection: IMMDeviceCollection): Hresult; stdcall;|99:function GetDefaultAudioEndpoint(EDF: SYSUINT; ER: SYSUINT; out Dev :IMMDevice ): Hresult; stdcall;|75:function GetDevice(pwstrId: pointer; out Dev: IMMDevice): HResult; stdcall;|96:function RegisterEndpointNotificationCallback(pClient: IMMNotificationClient): Hresult; stdcall;|4:end;|3: |14:implementation|0:|32:procedure SetVolume7(L: double);|41:var endpointVolume: IAudioEndpointVolume;|38:deviceEnumerator: IMMDeviceEnumerator;|25:defaultDevice: IMMDevice;|5:begin|8: try|119: CoCreateInstance(CLASS_IMMDeviceEnumerator, nil, CLSCTX_INPROC_SERVER, IID_IMMDeviceEnumerator, deviceEnumerator);|80: deviceEnumerator.GetDefaultAudioEndpoint(eRender, eConsole, defaultDevice);|97: defaultDevice.Activate(IID_IAudioEndpointVolume, CLSCTX_INPROC_SERVER, nil, endpointVolume);|39: if endpointVolume = nil then Exit;|56: endpointVolume.SetMasterVolumeLevelScalar(L, nil); |16: except end;|4:end;|0:|36:procedure GetVolume7(var L: single);|41:var endpointVolume: IAudioEndpointVolume;|38:deviceEnumerator: IMMDeviceEnumerator;|25:defaultDevice: IMMDevice;|5:begin|8: try|119: CoCreateInstance(CLASS_IMMDeviceEnumerator, nil, CLSCTX_INPROC_SERVER, IID_IMMDeviceEnumerator, deviceEnumerator);|80: deviceEnumerator.GetDefaultAudioEndpoint(eRender, eConsole, defaultDevice);|97: defaultDevice.Activate(IID_IAudioEndpointVolume, CLSCTX_INPROC_SERVER, nil, endpointVolume);|39: if endpointVolume = nil then Exit;|51: endpointVolume.GetMasterVolumeLevelScalar(L); |16: except end;|4:end;|0:|35:procedure THiAsmClass.doSetVolume7;|12:var L: real;|5:begin|24: L := ToReal(_Data);|32: if L < 0.0 then l := 0 else|28: if L > 1.0 then L := 1;|19: SetVolume7(L);|4:end;|0:|34:procedure THiAsmClass.VolumeLevel;|13:var L:single;|5:begin|19: GetVolume7(L);|22: dtReal(_Data, L);|4:end;|0:|4:end.|
}
Add(DoData,5675330,329,154)
{
link(onEventData,2072440:doValue,[(369,160)(369,90)])
link(Data,3565093:Result,[(335,143)(312,143)(312,254)(335,254)])
}
Add(If_else,12321054,371,210)
{
Type=4
Op2=Integer(1)
link(onTrue,9294492:doEvent1,[])
}
Add(CounterEx,2072440,392,70)
{
Default=1
Point(doPrev)
Point(doValue)
link(onNext,7249571:doOperation,[(464,76)(464,95)(205,95)(205,111)])
}
Add(Hub,15314805,203,210)
{
link(onEvent1,8073512:doData,[])
link(onEvent2,8502191:doWork,[(231,223)(231,307)])
}
Add(Message,7949295,483,308)
{
Message="Произошёл сбой в модуле "Звук"\r\nНынешнее значение звука неизвестно \r\nЗадать значение звука вручную?"
Caption="ARCL"
Type=2
Icon=4
Point(onYES)
link(onYES,1847231:doStop,[(527,321)(527,272)(142,272)(142,223)])
}
Add(If_else,15695206,378,301)
{
Op2=Integer(10)
link(onTrue,6437856:doEvent1,[])
}
Add(CounterEx,4027420,329,301)
{
Max=10
Point(doReset)
link(onNext,15695206:doCompare,[])
}
Add(Hub,9294492,420,210)
{
OutCount=3
link(onEvent1,5675330:doData,[(443,216)(443,195)(296,195)(296,160)])
link(onEvent2,1847231:doTimer,[(505,223)(505,264)(142,264)(142,216)])
}
Add(Hub,6437856,427,301)
{
link(onEvent1,4027420:doReset,[(452,307)(452,354)(317,354)(317,314)])
link(onEvent2,7949295:doMessage,[])
}
Add(Check,8502191,252,301)
{
Check=1
link(onEvent,4027420:doNext,[])
}
END_SDK
Add(KeyEvent,2635960,392,399)
{
Code=181
}
END_SDK
Add(LineBreak,1562779,525,588)
{
link(Out,7026629:doFind,[(575,594)(575,552)])
Primary=[5046149,-301,-497]
}
Add(ChildForm,7881638,609,182)
{
link(onEvent1,1853367:In,[])
link(onEvent2,2810396:In,[])
link(onEvent3,14322121:In,[])
link(onEvent4,6354643:In,[(657,209)(657,216)])
link(onEvent5,13171191:In,[(663,216)(663,230)])
link(onEvent6,1500570:doClose,[(653,223)(653,163)(93,163)(93,104)])
}
BEGIN_SDK
Add(EditMulti,4216567,77,154)
{
EventCount=6
WorkCount=6
DataCount=1
Width=636
Height=480
link(doWork2,1000707:In,[])
link(doWork3,13260109:doWork2,[])
link(doWork4,13260109:doWork3,[])
link(doWork5,13260109:doWork4,[])
}
Add(MainForm,8626414,224,28)
{
Left=35
Top=105
Width=551
Height=263
Visible=1
Caption="ARCL"
Point(doVisible)
}
Add(Hub,7828642,427,154)
{
link(onEvent1,13609115:doWork2,[])
link(onEvent2,5552027:doWork2,[])
}
Add(WinExec,11609885,553,784)
{
FileName="devcon.exe"
Point(onConsoleResult)
Point(doConsoleExec)
link(Params,2900685:Value,[])
link(onConsoleResult,3240334:doCharset,[])
}
Add(Charset,3240334,637,791)
{
link(onCharset,10076060:doEvent1,[])
}
Add(Memory,2900685,560,714)
{
}
Add(AdminAppEx,4800983,175,651)
{
link(onYesAdmin,949684:doData,[(271,657)(271,734)])
link(onNoAdmin,4800983:doElevatePrivilege,[(221,664)(221,697)(151,697)(151,664)])
}
Add(Message,8059595,210,735)
{
Message="Для перезагрузки драйвера Ардуино (она же HARD reset) требуются права администратора"
Caption="ARCL"
}
Add(Hub,4888516,252,189)
{
OutCount=3
link(onEvent1,1048721:doWork2,[])
link(onEvent2,16570025:In,[])
}
Add(LineBreak,14764389,77,651)
{
link(Out,4800983:doCheckPrivilege,[])
Primary=[16570025,210,-455]
}
Add(DoData,1136907,336,777)
{
Data=String(enable = USB\VID_1A86&PID_7523)
link(onEventData,2233677:doWork3,[(389,783)])
}
Add(DoData,949684,336,728)
{
Data=String(disable = USB\VID_1A86&PID_7523)
link(onEventData,2233677:doWork2,[])
}
Add(StrMask,13696543,742,791)
{
Mask="*enable*"
link(onFalse,1136907:doData,[(799,797)(799,842)(324,842)(324,783)])
link(onTrue,8207098:In,[])
}
Add(HubEx,2233677,385,728)
{
link(onEvent,1608013:doEvent1,[])
}
Add(LineBreak,12947050,476,168)
{
link(Out,14089841:doWork2,[])
Primary=[8207098,378,630]
}
Add(HubEx,5552027,532,161)
{
link(onEvent,4216567:onEvent2,[(618,167)(618,167)])
}
Add(HubEx,13609115,462,154)
{
link(onEvent,4216567:onEvent1,[(584,160)(584,160)])
}
Add(ButtonRush,2297967,315,154)
{
Caption="Reset"
Glyphs=[]
link(onClick,7828642:doEvent1,[])
}
Add(ButtonRush,3728825,210,189)
{
Top=25
Caption="HARD reset"
Glyphs=[]
link(onClick,4888516:doEvent1,[])
}
Add(ButtonRush,5809887,476,182)
{
Top=50
Caption="Start"
Glyphs=[]
link(onClick,14089841:doWork3,[(536,188)])
}
Add(Edit,13184547,560,273)
{
Left=80
Width=355
Height=25
link(onEnter,624451:doWork2,[])
}
Add(IndexToChanel,13278049,133,476)
{
Point(Index)
link(onEvent1,12510293:doWork1,[(244,482)])
link(onEvent2,16285589:doData,[(181,489)(181,496)])
link(Index,7300648:Checked,[])
}
Add(ChangeMon,16285589,196,490)
{
link(onData,12510293:doWork3,[(244,496)])
}
Add(Memo,11970529,329,483)
{
Left=80
Top=30
Width=355
Height=195
ScrollBars=3
}
Add(ButtonRush,3670446,406,203)
{
Top=75
Caption="Stop"
Glyphs=[]
link(onClick,1048721:doWork3,[(452,209)])
}
Add(HubEx,12510293,240,483)
{
link(onEvent,10857430:doEvent,[(260,489)(260,461)])
}
Add(HubEx,1048721,448,189)
{
link(onEvent,13609115:doWork3,[(466,195)])
}
Add(HubEx,14089841,532,168)
{
Angle=3
link(onEvent,5552027:doWork3,[])
}
Add(CheckBoxRush,7300648,133,420)
{
Left=440
Top=30
Width=95
Caption="Фильтр"
}
Add(ButtonRush,16014504,70,112)
{
Top=200
Caption="Log"
Glyphs=[]
link(onClick,13260109:doWork1,[(128,118)(128,167)])
}
Add(ChildForm,13260109,154,161)
{
}
BEGIN_SDK
Add(EditMulti,5760848,161,224)
{
WorkCount=5
Width=496
Height=382
link(doWork1,2893097:doVisible,[])
link(doWork2,11926738:doData,[])
link(doWork3,4977681:doData,[])
link(doWork4,3121548:doData,[])
link(doWork5,7177630:doWork3,[(347,258)])
}
Add(MainForm,2893097,679,196)
{
Left=35
Top=105
Width=538
Visible=1
Caption="LOG"
Point(doVisible)
}
Add(DoData,11926738,301,231)
{
Data=String(Было произведено открытие последовательного соединения )
link(onEventData,10642285:doWork2,[])
}
Add(DoData,4977681,301,238)
{
Data=String(Было произведено закрытие последовательного соединения )
link(onEventData,249445:doWork2,[])
}
Add(FormatStr,3377986,371,231)
{
Mask="%1 (%2)\r\n--------------------------------------------------------------------------"
link(onFString,7074187:doAdd,[])
link(Str2,1506742:FormatTime,[])
}
Add(HubEx,10642285,343,231)
{
link(onEvent,3377986:doString,[])
}
Add(Time,1506742,378,147)
{
Format="h:m:s"
}
Add(Memo,7074187,518,231)
{
Width=520
Height=260
ScrollBars=3
}
Add(DoData,3121548,301,245)
{
Data=String(Ошибка открытия/закрытия последовательного соединения )
link(onEventData,7177630:doWork2,[])
}
Add(HubEx,249445,343,238)
{
Angle=3
link(onEvent,10642285:doWork3,[])
}
Add(HubEx,7177630,343,245)
{
Angle=3
link(onEvent,249445:doWork3,[])
}
END_SDK
Add(LineBreak,15029134,84,476)
{
link(Out,13278049:doEvent,[])
Primary=[1000707,7,-315]
}
Add(LineBreak,4043431,91,189)
{
Caption="Hr"
link(Out,13260109:doWork5,[])
Primary=[13041066,651,567]
}
Add(Hub,10076060,686,791)
{
OutCount=3
link(onEvent1,13696543:doCompare,[])
link(onEvent2,13041066:In,[(728,804)(728,762)])
}
Add(Hub,1608013,413,728)
{
link(onEvent1,2900685:doValue,[(487,734)(487,720)])
link(onEvent2,5478805:doData,[(448,741)(448,804)])
}
Add(DoData,5478805,469,798)
{
Data=String(devcon.exe)
link(onEventData,11609885:doConsoleExec,[])
}
Add(ButtonRush,15251664,84,56)
{
Top=175
Caption="Настройки"
Glyphs=[]
link(onClick,3600763:doWork1,[])
}
Add(ButtonRush,795692,518,329)
{
Left=435
Width=100
Caption="Send"
Glyphs=[]
link(onClick,14569569:doData,[])
}
Add(ChildForm,3600763,154,56)
{
link(onEvent1,8626414:doVisible,[])
}
BEGIN_SDK
Add(EditMulti,14487554,7,49)
{
EventCount=1
WorkCount=1
Width=930
Height=291
link(doWork1,14692587:doVisible,[(143,55)(143,146)])
}
Add(MainForm,14692587,168,112)
{
Left=35
Top=105
Width=584
Height=420
Visible=1
Caption="SIT"
Point(doVisible)
link(onCreate,10500836:doEvent1,[])
}
Add(Label,3297788,336,70)
{
Left=100
Top=5
Width=90
Height=17
Caption="Номер порта"
}
Add(Label,11972600,385,70)
{
Left=100
Top=30
Width=84
Height=17
Caption="Скорость порта"
}
Add(Hub,10500836,217,126)
{
OutCount=4
link(onEvent1,13670014:doWork2,[(434,132)(434,76)])
link(onEvent2,9509137:doWork2,[(451,139)(451,118)])
link(onEvent3,13714721:doWork2,[(473,146)(473,160)])
link(onEvent4,14384219:doWork2,[(434,153)(434,216)])
}
Add(Label,7373131,287,70)
{
Left=380
Width=155
Height=17
Caption="Назначения горячей клавиши"
}
Add(ChildPanel,9509137,693,105)
{
}
BEGIN_SDK
Add(EditMulti,4847599,20,20)
{
WorkCount=2
Width=608
Height=571
link(doWork1,16290488:doCompare,[(67,26)(67,33)])
link(doWork2,14558180:doEvent1,[(56,33)(56,104)])
}
Add(Panel,9266387,225,20)
{
Left=5
Top=105
Width=156
Height=28
Visible=1
Point(doVisible)
}
Add(If_else,16290488,112,27)
{
Op2=Integer(2)
link(onTrue,6395242:doData,[])
link(onFalse,15260327:doData,[])
}
Add(DoData,6395242,155,27)
{
Data=Integer(1)
link(onEventData,13720492:doWork2,[(193,33)(193,33)])
}
Add(DoData,15260327,155,34)
{
Data=Integer(0)
link(onEventData,13720492:doWork3,[(201,40)])
}
Add(HubEx,13720492,197,27)
{
link(onEvent,9266387:doVisible,[])
}
Add(LineBreak,469795,135,438)
{
link(Out,10214890:doWork2,[])
Primary=[3839048,26,-333]
}
Add(Application,3526827,282,231)
{
}
Add(LineBreak,13094296,198,315)
{
link(Out,4645882:doRead,[])
Primary=[13736595,-37,-217]
}
Add(AdminAppEx,12592719,191,382)
{
link(onYesAdmin,9913343:doCompare,[])
link(onNoAdmin,12592719:doElevatePrivilege,[(231,395)(231,418)(183,418)(183,395)])
}
Add(Registry,4645882,282,315)
{
HKey=2
Key="SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
Value="ARCL"
NotEmpty=1
Point(doDeleteValue)
link(Data,4956132:Var2,[])
}
Add(If_else,9913343,282,382)
{
link(onTrue,4645882:doDeleteValue,[(319,388)(319,360)(255,360)(255,335)])
link(onFalse,4645882:doWrite,[(326,395)(326,355)(270,355)(270,328)])
link(Op1,1350359:Var2,[])
link(Op2,15874857:Var2,[])
}
Add(HubEx,10214890,170,438)
{
link(onEvent,14758248:doCompare,[])
}
Add(ButtonRush,4432086,106,382)
{
Width=125
Color=255
Caption="Автозапуск"
Glyphs=[]
link(onClick,13532641:doEvent1,[])
}
Add(If_else,14758248,282,438)
{
link(onTrue,12996438:doOn,[(352,444)(352,440)])
link(onFalse,12996438:doOff,[(372,451)(372,433)])
link(Op1,1350359:Var1,[(288,420)(279,420)(279,369)])
link(Op2,15874857:Var3,[(295,421)(304,421)(304,369)])
}
Add(GetDataEx,4956132,282,287)
{
link(Data,3526827:AppFileName,[])
}
Add(GetDataEx,15874857,289,364)
{
link(Data,4956132:Var3,[(295,292)])
}
Add(GetDataEx,1350359,282,364)
{
link(Data,4645882:RData,[])
}
Add(Hub,13532641,149,382)
{
link(onEvent1,12592719:doCheckPrivilege,[])
link(onEvent2,10214890:doWork1,[(174,395)])
}
Add(LED,12996438,399,420)
{
Left=125
Blick=1
ColorOn=65280
ColorOff=255
}
Add(Hub,14558180,112,98)
{
link(onEvent1,13736595:In,[])
link(onEvent2,3839048:In,[])
}
END_SDK
Add(UpDown,15080313,546,91)
{
Width=275
Max=4
Min=1
Kind=0
link(onPosition,11312483:doEvent1,[])
}
Add(Hub,11312483,588,91)
{
OutCount=4
link(onEvent1,13670014:doWork1,[(620,97)(620,69)])
link(onEvent2,9509137:doWork1,[(660,104)(660,111)])
link(onEvent3,13714721:doWork1,[(644,111)(644,153)])
link(onEvent4,14384219:doWork1,[(623,118)(623,209)])
}
Add(ChildPanel,14384219,644,203)
{
}
BEGIN_SDK
Add(EditMulti,10183134,20,20)
{
EventCount=1
WorkCount=2
Width=825
Height=781
link(doWork1,2175201:doCompare,[(67,26)(67,33)])
link(doWork2,11822741:doEvent1,[(48,33)(48,97)])
}
Add(Panel,7737115,225,20)
{
Left=210
Top=90
Width=138
Height=98
Visible=1
Point(doVisible)
}
Add(If_else,2175201,112,27)
{
Op2=Integer(4)
link(onTrue,14542757:doData,[])
link(onFalse,13651692:doData,[])
}
Add(DoData,14542757,155,27)
{
Data=Integer(1)
link(onEventData,9064081:doWork2,[])
}
Add(DoData,13651692,155,34)
{
Data=Integer(0)
link(onEventData,9064081:doWork3,[(201,40)])
}
Add(HubEx,9064081,197,27)
{
link(onEvent,7737115:doVisible,[])
}
Add(CheckBox,6412819,441,174)
{
Left=5
Top=5
Width=65
Caption="ASK"
Point(doVisible)
link(onCheck,2328942:doEvent1,[])
}
Add(CheckBox,7017221,245,174)
{
Left=75
Top=5
Caption="TSK"
Point(doVisible)
link(onCheck,11198126:doEvent1,[])
}
Add(Label,14653124,805,140)
{
Left=20
Top=45
Width=25
Height=25
Font=[MS Sans Serif,12,0,0,1]
Caption="if >"
}
Add(Edit,5357729,721,28)
{
Left=5
Top=25
Width=130
Text="Send char"
}
Add(Edit,7673256,763,140)
{
Left=55
Top=45
Width=60
Height=25
Text="Sec"
}
Add(Button,3744076,35,280)
{
Top=75
Width=135
Caption="Save"
link(onClick,5951695:doEvent1,[])
}
Add(DoData,5920791,735,77)
{
link(onEventData,10183134:onEvent1,[(820,83)(820,26)])
link(Data,438567:Var2,[(741,75)(727,75)])
}
Add(LineBreak,2463353,623,77)
{
Caption="Send"
link(Out,5920791:doData,[])
Primary=[6138096,-238,336]
}
Add(LineBreak,4725814,763,210)
{
Caption="Sec"
Type=1
link(Data,10484630:Var2,[])
Primary=[14853465,-476,133]
}
Add(If_else,6303335,329,181)
{
Op2=Integer(0)
link(onTrue,5113449:doData,[])
link(onFalse,9134214:doData,[])
}
Add(DoData,5113449,372,181)
{
Data=Integer(1)
link(onEventData,15277438:doWork2,[])
}
Add(DoData,9134214,372,188)
{
Data=Integer(0)
link(onEventData,15277438:doWork3,[(418,194)])
}
Add(HubEx,15277438,414,181)
{
link(onEvent,6412819:doVisible,[])
}
Add(If_else,6447669,133,181)
{
Op2=Integer(0)
link(onTrue,16554029:doData,[])
link(onFalse,12649245:doData,[])
}
Add(DoData,16554029,176,181)
{
Data=Integer(1)
link(onEventData,16530221:doWork2,[])
}
Add(DoData,12649245,176,188)
{
Data=Integer(0)
link(onEventData,16530221:doWork3,[(222,194)])
}
Add(HubEx,16530221,218,181)
{
link(onEvent,7017221:doVisible,[])
}
Add(LineBreak,10019018,86,181)
{
link(Out,6447669:doCompare,[])
Primary=[7703153,432,0]
}
Add(Ini,12362470,42,231)
{
FileName="SIT.ini"
Section="AutoKey"
}
Add(Ini,16234189,224,231)
{
FileName="SIT.ini"
Section="AutoKey"
Key="TSK"
link(onResult,4721430:doWork3,[(266,237)(266,219)(233,219)])
link(Value,7983312:Var2,[])
}
Add(Ini,33795,420,238)
{
FileName="SIT.ini"
Section="AutoKey"
Key="ASK"
link(onResult,5539364:doWork3,[(466,244)(466,221)(429,221)])
link(Value,579271:Var2,[])
}
Add(Hub,11822741,77,91)
{
OutCount=4
link(onEvent1,12797443:In,[])
link(onEvent2,3402591:In,[])
link(onEvent3,355525:In,[])
link(onEvent4,15892047:In,[])
}
Add(LineBreak,1249059,175,231)
{
link(Out,16234189:doRead,[])
Primary=[12797443,-63,-140]
}
Add(LineBreak,11369509,371,238)
{
link(Out,33795:doRead,[])
Primary=[3402591,-259,-140]
}
Add(Ini,3363210,733,231)
{
FileName="SIT.ini"
Section="AutoKey"
Key="Sek"
link(onResult,7673256:doText2,[(777,237)(777,195)(751,195)(751,153)])
link(Value,10484630:Var1,[(760,180)])
}
Add(GetDataEx,10484630,763,175)
{
link(Data,7673256:Text,[])
}
Add(Ini,13923798,670,91)
{
FileName="SIT.ini"
Section="AutoKey"
Key="Char"
Type=1
link(onResult,5357729:doText2,[(712,97)(712,41)])
link(Value,438567:Var1,[(697,68)])
}
Add(GetDataEx,438567,721,63)
{
link(Data,5357729:Text,[])
}
Add(LineBreak,10372995,686,231)
{
link(Out,3363210:doRead,[])
Primary=[355525,-574,-126]
}
Add(LineBreak,6611964,630,91)
{
link(Out,13923798:doRead,[])
Primary=[15892047,-518,21]
}
Add(Hub,5951695,77,280)
{
OutCount=4
link(onEvent1,13194367:In,[])
link(onEvent2,11200200:In,[])
link(onEvent3,14503333:In,[])
link(onEvent4,8208035:In,[])
}
Add(LineBreak,2339980,175,238)
{
link(Out,12306385:doWork2,[])
Primary=[13194367,-70,42]
}
Add(LineBreak,16081507,371,245)
{
link(Out,33795:doWrite,[])
Primary=[11200200,-266,42]
}
Add(LineBreak,9559723,686,238)
{
link(Out,3363210:doWrite,[])
Primary=[14503333,-581,56]
}
Add(LineBreak,12259190,630,98)
{
link(Out,13923798:doWrite,[])
Primary=[8208035,-525,203]
}
Add(If_else,10864601,315,119)
{
Op2=Integer(1)
link(onTrue,14146107:doData,[])
}
Add(Hub,11198126,287,174)
{
link(onEvent1,10864601:doCompare,[(308,180)(308,125)])
link(onEvent2,6303335:doCompare,[])
}
Add(Hub,2328942,483,174)
{
link(onEvent1,11388863:doCompare,[(504,180)(504,146)])
link(onEvent2,7703153:In,[])
}
Add(If_else,11388863,511,140)
{
Op2=Integer(1)
link(onTrue,16387355:doData,[])
}
Add(DoData,14146107,364,119)
{
Data=Integer(0)
link(onEventData,6210793:doEvent1,[])
}
Add(DoData,16387355,567,140)
{
Data=Integer(0)
link(onEventData,6818751:doEvent1,[])
}
Add(Hub,6818751,609,140)
{
link(onEvent1,10491462:In,[])
link(onEvent2,1405139:In,[])
}
Add(LineBreak,15623263,189,154)
{
link(Out,4721430:doWork1,[(233,160)])
Primary=[10491462,448,-14]
}
Add(HubEx,4721430,229,174)
{
link(onEvent,7017221:doCheck,[])
}
Add(LineBreak,8896944,182,280)
{
link(Out,744811:doWrite,[])
Primary=[1405139,455,-133]
}
Add(HubEx,12306385,210,238)
{
link(onEvent,16234189:doWrite,[])
}
Add(Hub,6210793,406,119)
{
link(onEvent1,4483872:In,[])
link(onEvent2,5539364:doWork1,[(429,132)])
}
Add(HubEx,5539364,425,174)
{
link(onEvent,6412819:doCheck,[])
}
Add(LineBreak,14101531,371,287)
{
link(Out,11527635:doWrite,[])
Primary=[4483872,63,-168]
}
Add(LineBreak,14714708,476,231)
{
Caption="ASK"
Type=1
link(Data,579271:Var3,[(482,215)])
Primary=[4943756,-294,182]
}
Add(LineBreak,4932391,287,224)
{
Caption="TSK"
Type=1
link(Data,7983312:Var3,[(293,215)])
Primary=[15091596,-105,126]
}
Add(GetDataEx,579271,441,210)
{
link(Data,6412819:Checked,[])
}
Add(GetDataEx,7983312,245,210)
{
link(Data,7017221:Checked,[])
}
Add(KeyHook,5175091,84,434)
{
link(onKeyDown,3588567:doEvent1,[])
}
Add(MultiElement,10160228,287,378)
{
link(onEvent1,13285372:doWork2,[(339,384)(339,419)])
link(Data1,9184154:Var2,[])
}
BEGIN_SDK
Add(EditMulti,5416080,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=580
Height=424
VOffset=100
}
Add(InfoTip,6889337,0,0)
{
Info=#3:TSK|
Width=36
Height=11
}
END_SDK
Add(MultiElement,10656330,294,441)
{
link(onEvent1,13285372:doWork3,[(347,447)])
link(Data1,9184154:Var3,[(300,362)])
}
BEGIN_SDK
Add(EditMulti,7589717,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=755
Height=515
VOffset=100
link(doWork1,243780:doEvent,[(147,127)(147,209)])
}
Add(Timer,5282816,182,154)
{
Enable=1
Point(Enabled)
link(onTimer,16565907:doNext,[])
}
Add(CounterEx,16565907,294,154)
{
Max=10
Point(doReset)
link(onNext,10048074:doCompare,[])
}
Add(If_else,10048074,357,154)
{
link(onTrue,16501182:doEvent1,[])
link(Op1,16565907:Count,[(363,144)(331,144)(331,200)(300,200)])
link(Op2,7589717:Data1,[(370,88)(27,88)])
}
Add(HubEx,13520801,273,161)
{
link(onEvent,16565907:doReset,[])
}
Add(Hub,16501182,420,154)
{
OutCount=3
link(onEvent1,13520801:doWork1,[(471,160)(471,130)(277,130)])
link(onEvent2,5282816:doStop,[(476,167)(476,119)(170,119)(170,167)])
link(onEvent3,7589717:onEvent1,[(605,174)(605,127)])
}
Add(IndexToChanel,243780,182,203)
{
Point(Index)
link(onEvent1,5282816:doTimer,[(221,209)(221,194)(156,194)(156,160)])
link(onEvent2,13520801:doWork2,[(244,216)(244,167)])
link(Index,5282816:Enabled,[])
}
END_SDK
Add(Hub,3588567,133,434)
{
link(onEvent1,7556817:doCompare,[(165,440)(165,384)])
link(onEvent2,5429706:doCompare,[])
}
Add(If_else,7556817,182,378)
{
Op2=Integer(1)
link(onTrue,10160228:doWork1,[])
link(Op1,15091596:Var,[])
}
Add(If_else,5429706,182,441)
{
Op2=Integer(1)
link(onTrue,10656330:doWork1,[])
link(Op1,4943756:Var,[])
}
Add(HubEx,13285372,343,413)
{
link(onEvent,6138096:In,[])
}
Add(GetDataEx,9184154,287,357)
{
link(Data,14853465:Var,[])
}
Add(Ini,744811,231,273)
{
FileName="SIT.ini"
Section="AutoKey"
Key="TSK"
}
Add(Ini,11527635,420,280)
{
FileName="SIT.ini"
Section="AutoKey"
Key="ASK"
}
END_SDK
Add(ChildPanel,13714721,686,147)
{
link(onEvent1,14487554:onEvent1,[(803,153)(803,55)])
}
BEGIN_SDK
Add(EditMulti,3640058,20,20)
{
EventCount=1
WorkCount=2
Width=832
Height=781
link(doWork1,6055205:doCompare,[(67,26)(67,33)])
link(doWork2,6323738:doEvent1,[(56,33)(56,97)])
}
Add(Panel,8205083,260,20)
{
Left=320
Top=205
Width=186
Height=72
Visible=1
Point(doVisible)
}
Add(If_else,6055205,161,27)
{
Op2=Integer(3)
link(onTrue,12484172:doData,[])
link(onFalse,6121169:doData,[])
}
Add(DoData,12484172,190,27)
{
Data=Integer(1)
link(onEventData,2823997:doWork2,[])
}
Add(DoData,6121169,190,34)
{
Data=Integer(0)
link(onEventData,2823997:doWork3,[(236,40)])
}
Add(HubEx,2823997,232,27)
{
link(onEvent,8205083:doVisible,[])
}
Add(GHotKey,5791590,693,294)
{
Alt=1
Ctrl=1
Key=27
Point(onError)
Point(doAlt)
Point(doCtrl)
Point(doShift)
Point(doWin)
Point(doKey)
link(onEventHotKey,9210237:doWork3,[(754,300)])
}
Add(Message,135476,742,315)
{
Message="ВНИМАНИЕ!!!\r\nГорячая клавиша не была установлена!\r\nА значит вы не сможете вызвать окно управления программой !\r\nНажмите ОК что бы переназначить клавишу!"
Point(onOK)
link(onOK,9210237:doWork1,[(803,328)(803,265)(760,266)])
}
Add(LineBreak,11972772,616,287)
{
link(Out,5791590:doStartHotKey,[(670,293)(670,300)])
Primary=[11926264,-483,-182]
}
Add(CheckBox,16771647,322,462)
{
Left=5
Top=20
Width=40
Caption="Alt"
link(onCheck,15662042:In,[])
}
Add(CheckBox,3230902,245,413)
{
Left=45
Top=20
Width=45
Caption="Ctrl"
link(onCheck,8915719:In,[])
}
Add(CheckBox,6887274,490,511)
{
Left=90
Top=20
Width=45
Caption="Shift"
link(onCheck,15017590:In,[])
}
Add(Edit,9434340,203,350)
{
Left=5
Top=40
Width=105
Height=30
Text="Key"
DataType=2
ReadOnly=0
Point(onKeyDown)
link(onChange,5791590:doKey,[(464,356)(464,342)])
link(onKeyDown,9434340:doText,[(245,370)(245,343)(191,343)(191,356)])
}
Add(ButtonRush,14393353,70,490)
{
Left=110
Top=40
Width=75
Height=32
Caption="Save"
Glyphs=[]
link(onClick,5204052:doEvent1,[])
}
Add(CheckBox,6667926,327,585)
{
Left=135
Top=20
Width=45
Caption="Win"
link(onCheck,8087049:In,[])
}
Add(HubEx,9210237,750,259)
{
Angle=3
link(onEvent,3640058:onEvent1,[(754,26)])
}
Add(LineBreak,5866432,616,329)
{
Caption="Alt"
link(Out,5791590:doAlt,[(670,335)(670,314)])
Primary=[15662042,-245,133]
}
Add(LineBreak,8789486,616,336)
{
Caption="Ctrl"
link(Out,5791590:doCtrl,[(661,342)(661,321)])
Primary=[8915719,-308,77]
}
Add(LineBreak,12195334,609,343)
{
Caption="Shift"
link(Out,5791590:doShift,[(676,349)(676,328)])
Primary=[15017590,-56,168]
}
Add(LineBreak,7702660,616,350)
{
Caption="Win"
link(Out,5791590:doWin,[(668,356)(668,335)])
Primary=[8087049,-238,235]
}
Add(Ini,15528382,301,511)
{
FileName="SIT.ini"
Section="HotKey"
Key="Alt"
link(onResult,16771647:doCheck,[(345,517)(345,493)(310,493)(310,468)])
link(Value,16771647:Checked,[])
}
Add(Ini,6476558,224,462)
{
FileName="SIT.ini"
Section="HotKey"
Key="Ctrl"
link(onResult,3230902:doCheck,[(268,468)(268,444)(233,444)(233,419)])
link(Value,3230902:Checked,[])
}
Add(Ini,265073,469,567)
{
FileName="SIT.ini"
Section="HotKey"
Key="Shift"
link(onResult,6887274:doCheck,[(513,573)(513,545)(478,545)(478,517)])
link(Value,6887274:Checked,[])
}
Add(Ini,10391173,306,634)
{
FileName="SIT.ini"
Section="HotKey"
Key="Win"
link(onResult,6667926:doCheck,[(350,640)(350,616)(315,616)(315,591)])
link(Value,6667926:Checked,[])
}
Add(Ini,4176796,182,399)
{
FileName="SIT.ini"
Section="HotKey"
Key="Key"
link(onResult,9434340:doText2,[(230,405)(230,389)(191,389)(191,363)])
link(Value,9434340:Text,[])
}
Add(LineBreak,4118285,406,231)
{
link(Out,9999323:doEvent1,[])
Primary=[5098722,-266,-140]
}
Add(Hub,9999323,448,231)
{
OutCount=5
link(onEvent1,2418619:In,[])
link(onEvent2,6353334:In,[])
link(onEvent3,12890552:In,[])
link(onEvent4,8481688:In,[])
link(onEvent5,9663751:In,[])
}
Add(LineBreak,12585505,182,462)
{
link(Out,6476558:doRead,[])
Primary=[2418619,301,-231]
}
Add(LineBreak,2026870,259,511)
{
link(Out,15528382:doRead,[])
Primary=[6353334,231,-273]
}
Add(LineBreak,6267362,249,634)
{
link(Out,10391173:doRead,[])
Primary=[12890552,241,-389]
}
Add(LineBreak,11766482,420,567)
{
link(Out,265073:doRead,[])
Primary=[8481688,63,-315]
}
Add(LineBreak,4085160,140,399)
{
link(Out,4176796:doRead,[])
Primary=[9663751,343,-140]
}
Add(Hub,5204052,126,490)
{
OutCount=5
link(onEvent1,4176796:doWrite,[(161,496)(161,412)])
link(onEvent2,6476558:doWrite,[(182,503)(182,475)])
link(onEvent3,15528382:doWrite,[(220,510)(220,524)])
link(onEvent4,10391173:doWrite,[(223,517)(223,647)])
link(onEvent5,265073:doWrite,[(252,524)(252,580)])
}
Add(Hub,6323738,91,91)
{
OutCount=3
link(onEvent1,5098722:In,[])
link(onEvent2,11926264:In,[(119,104)(119,111)])
}
Add(Label,13083980,399,147)
{
Left=5
Width=175
Height=17
Caption="Назначения горячей клавиши"
}
END_SDK
Add(ChildPanel,13670014,637,63)
{
}
BEGIN_SDK
Add(EditMulti,4855090,20,20)
{
WorkCount=2
Width=608
Height=417
link(doWork1,14553665:doCompare,[(67,26)(67,33)])
link(doWork2,11247073:doEvent1,[(52,33)(52,104)])
}
Add(Panel,6632950,225,20)
{
Left=30
Top=275
Width=190
Height=71
Visible=1
Point(doVisible)
}
Add(If_else,14553665,112,27)
{
Op2=Integer(1)
link(onTrue,11291129:doData,[])
link(onFalse,14156774:doData,[])
}
Add(DoData,11291129,155,27)
{
Data=Integer(1)
link(onEventData,4269611:doWork2,[(193,33)(193,33)])
}
Add(DoData,14156774,155,34)
{
Data=Integer(0)
link(onEventData,4269611:doWork3,[(201,40)])
}
Add(HubEx,4269611,197,27)
{
link(onEvent,6632950:doVisible,[])
}
Add(ButtonRush,12043756,51,259)
{
Left=5
Top=50
Width=180
Height=20
Caption="Сохранить настройки"
Glyphs=[]
link(onClick,3438198:doEvent1,[])
}
Add(Hub,3438198,93,259)
{
OutCount=3
link(onEvent1,12698891:doWrite,[])
link(onEvent2,10249999:doWrite,[])
}
Add(Ini,12698891,254,252)
{
FileName="SIT.ini"
Section="COMspeed"
Key="COMspeed"
link(onResult,10168681:doText,[(298,258)(298,229)(263,229)(263,195)])
link(Value,10168681:Text,[])
}
Add(Edit,10168681,275,189)
{
Left=5
Top=30
Width=90
Text="Скорость порта"
DataType=2
}
Add(LineBreak,9102778,201,252)
{
link(Out,12698891:doRead,[(243,258)(243,258)])
Primary=[7367497,-47,-154]
}
Add(LineBreak,15864288,364,259)
{
link(Out,10249999:doRead,[])
Primary=[808547,-210,-91]
}
Add(Ini,10249999,413,259)
{
FileName="SIT.ini"
Section="COMport"
Key="COMport"
link(onResult,4857693:doText,[(457,265)(457,236)(422,236)(422,202)])
link(Value,4857693:Text,[])
}
Add(Edit,4857693,434,196)
{
Left=5
Top=5
Width=90
Text="Номер порта"
DataType=2
}
Add(Label,11501991,238,84)
{
Left=100
Top=5
Width=90
Height=17
Caption="Номер порта"
}
Add(Label,5466351,287,84)
{
Left=100
Top=30
Width=84
Height=17
Caption="Скорость порта"
}
Add(Hub,11247073,84,98)
{
link(onEvent1,7367497:In,[])
link(onEvent2,808547:In,[(126,111)(126,174)])
}
END_SDK
END_SDK
Add(DoData,14569569,560,329)
{
link(onEventData,624451:doWork3,[(649,335)])
link(Data,13184547:Text,[])
}
Add(HubEx,624451,645,280)
{
Angle=3
link(onEvent,4216567:onEvent3,[(649,174)])
}
Add(ButtonRush,15961532,161,308)
{
Top=150
Caption="SetPM"
Glyphs=[]
link(onClick,10757674:doWork1,[])
}
Add(ChildForm,10757674,203,308)
{
}
BEGIN_SDK
Add(EditMulti,12551026,21,21)
{
WorkCount=1
link(doWork1,4682646:doVisible,[(28,27)(28,139)])
}
Add(MainForm,4682646,35,105)
{
Left=35
Top=105
Width=630
Height=157
Visible=1
Point(doVisible)
link(onCreate,5219970:doLoad,[(268,125)(268,370)])
}
Add(Label,1457286,490,70)
{
Top=5
Width=241
Height=28
Font=[MS Sans Serif,14,0,0,1]
Caption="Если получени символ/лы"
}
Add(Edit,4029333,208,280)
{
Top=30
Width=240
Height=25
Text=" Пробелы тоже считаются"
}
Add(Label,15230690,431,71)
{
Top=55
Width=242
Height=28
Font=[MS Sans Serif,14,0,0,1]
Caption="То запустить программу"
}
Add(Edit,6892941,364,280)
{
Top=80
Width=240
Text="Путь до программы"
}
Add(Button,12473321,273,287)
{
Top=100
Width=95
Caption="Указать путь"
link(onClick,13341996:doExecute,[])
}
Add(Button,3439815,161,336)
{
Left=130
Top=100
Width=110
Caption="Сохранить"
link(onClick,11413701:doString,[])
}
Add(ListBox,5219970,469,336)
{
Left=240
Width=360
Height=115
FileName="files.ini"
Point(Index)
}
Add(Button,1890846,427,413)
{
Left=600
Width=15
Height=115
Caption="Удалить"
link(onClick,1382049:doData,[])
}
Add(FormatStr,11413701,252,336)
{
Mask="%1=%2;"
link(onFString,8828095:doData,[])
link(Str1,4029333:Text,[(258,324)(214,324)])
link(Str2,6892941:Text,[(265,324)(370,324)])
}
Add(ODialog,13341996,315,287)
{
link(onExecute,6892941:doText2,[])
}
Add(ChangeMon,8828095,315,336)
{
link(onData,9495585:doEvent1,[])
}
Add(DoData,1382049,490,413)
{
link(onEventData,10353005:doEvent1,[])
link(Data,5219970:Index,[])
}
Add(Hub,9495585,357,336)
{
link(onEvent1,5219970:doAdd,[])
link(onEvent2,12536373:doWork1,[(389,349)])
}
Add(DoData,12168197,406,371)
{
Data=String(files.ini)
link(onEventData,5219970:doSave,[])
}
Add(Hub,10353005,525,413)
{
link(onEvent1,5219970:doDelete,[(551,419)(551,387)(457,387)(457,356)])
link(onEvent2,12536373:doWork3,[(603,426)(603,482)(389,482)])
}
Add(HubEx,12536373,385,371)
{
link(onEvent,12168197:doData,[])
}
END_SDK
Add(ButtonRush,16380660,224,539)
{
Left=435
Top=175
Width=100
Caption="<- Clear"
Glyphs=[]
link(onClick,11970529:doClear,[(272,545)(272,496)])
}
Add(ButtonRush,7142154,651,175)
{
Left=435
Top=150
Width=100
Caption="Clear буфер RX"
Glyphs=[]
link(onClick,4216567:onEvent4,[])
}
Add(CheckBoxRush,6255130,273,406)
{
Left=440
Top=50
Width=95
Caption="Write data"
}
Add(IndexToChanel,10857430,273,455)
{
Point(Index)
link(onEvent2,11970529:doAdd,[(317,468)(317,489)])
link(Index,6255130:Checked,[])
}
Add(Button,6943142,595,189)
{
Left=455
Top=205
Caption="Exit"
link(onClick,4216567:onEvent6,[])
}
END_SDK
Add(LineBreak,14754072,301,392)
{
link(Out,4082497:doClose,[])
Primary=[1853367,399,-210]
}
Add(LineBreak,14716687,231,357)
{
link(Out,8732081:doWork2,[])
Primary=[2810396,441,-168]
}
Add(LineBreak,15844279,245,420)
{
link(Out,16448163:doWork3,[(298,426)])
Primary=[14322121,476,-224]
}
Add(StrList,4890113,749,273)
{
}
Add(Application,12632479,658,252)
{
}
Add(FilePartElm,9077209,658,301)
{
Mode=0
link(onPart,9314984:doStrCat,[])
link(FileName,12632479:AppFileName,[])
}
Add(StrCat,9314984,700,301)
{
Str2="files.ini"
link(onStrCat,4890113:doLoad,[])
}
Add(LineBreak,15820064,511,189)
{
Caption="Op"
link(Out,7881638:doWork3,[(575,195)(575,202)])
Primary=[12303477,-49,217]
}
Add(LineBreak,14294753,511,203)
{
Caption="Cp"
link(Out,7881638:doWork4,[])
Primary=[7489040,-49,217]
}
Add(LineBreak,4156715,504,217)
{
Caption="Error"
link(Out,7881638:doWork5,[(578,223)(578,216)])
Primary=[16270800,-84,196]
}
Add(LineBreak,1206323,203,406)
{
link(Out,4082497:doRXClear,[])
Primary=[6354643,469,-196]
}
Add(HubEx,16448163,294,399)
{
link(onEvent,7336771:doWork2,[])
}
Add(Memory,131909,595,399)
{
}
Add(HubEx,7336771,350,399)
{
link(onEvent,4082497:doWrite,[])
}
Add(LineBreak,10740027,308,441)
{
link(Out,7336771:doWork3,[(354,447)])
Primary=[13171191,378,-217]
}
Add(LineBreak,1157083,539,175)
{
link(Out,7881638:doWork1,[(589,181)(589,188)])
Primary=[14691142,119,287]
}
Add(EventFromData,5486467,371,329)
{
link(onEvent,3131760:doRead,[])
}
Add(EventFromData,10905079,378,259)
{
link(onEvent,13896480:doRead,[])
}
Add(If_else,16693327,490,259)
{
Type=2
Op2=Integer(1)
link(onTrue,10905079:doData,[(548,265)(548,253)(366,253)(366,265)])
}
Add(HubEx,8732081,312,357)
{
Angle=1
link(onEvent,4082497:doOpen,[(316,391)])
}

То есть если я создам в другой папке(на диске D) проект и попробую там воспользоваться Хуком то всё работает

Редактировалось 2 раз(а), последний 2017-12-24 18:14:24
карма: 0
私はアニメが大好き
0
Ответов: 1925
Рейтинг: 172
#3: 2017-12-24 19:16:42 ЛС | профиль | цитата
В папке Plug Hook.dll зашифрован, т.к. некоторые антивирусы определяют его как вирус. И расширфровывается и помещается в папку windows, когда в настройках выполняешь Интеграция - Хук клавиатуры (но в plug остаётся зашифрованный).

Попробуй положить hook из windows рядом со своей программой.
карма: 9
0
Ответов: 138
Рейтинг: 2
#4: 2017-12-24 20:54:34 ЛС | профиль | цитата
3042 писал(а):
В папке Plug Hook.dll зашифрован, т.к. некоторые антивирусы определяют его как вирус. И расширфровывается и помещается в папку windows, когда в настройках выполняешь Интеграция - Хук клавиатуры (но в plug остаётся зашифрованный).

Попробуй положить hook из windows рядом со своей программой.

У меня эта del лежит в одной папке с программой
карма: 0
私はアニメが大好き
0
Ответов: 138
Рейтинг: 2
#5: 2017-12-25 18:40:27 ЛС | профиль | цитата
Проблема решена
Оказывается нельзя использовать два компонента в одной программе
карма: 0
私はアニメが大好き
0
Ответов: 2059
Рейтинг: 131
#6: 2017-12-25 23:37:20 ЛС | профиль | цитата
В папке Plug Hook.dll зашифрован, т.к. некоторые антивирусы определяют его как вирус.

А такой KeyHook без Hookdll подходит? Не будет проблем c размещением dll и антивирусом.

Add(MainForm,13376086,210,182)
{
Point(onClose)
Point(onKeyDown)
link(onCreate,2317400:SetHook,[])
link(onClose,2317400:UnHook,[])
}
Add(InlineCode,2317400,252,196)
{
WorkPoints=#7:SetHook|6:UnHook|
EventPoints=#7:onKeyUp|9:onKeyDown|10:onSysKeyUp|12:onSysKeyDown|8:onRepeat|
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:DWORD;|23: dwExtraInfo:PDWORD;|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,476,161)
{
Left=125
Top=35
Width=205
Height=180
}
Add(StrList,4095676,378,154)
{
Strings=#15:Опущена клавиша|14:Нажата клавиша|25:Опущена системная клавиша|24:Нажата системная клавиша|20:Удерживается клавиша|
Point(doGetString)
Point(onGetString)
link(onGetString,9575750:doString,[])
}
Add(ChanelToIndex,3658577,301,196)
{
Count=5
Point(Data)
link(onIndex,4095676:doGetString,[])
}
Add(FormatStr,9575750,420,161)
{
link(onFString,11565061:doAdd,[])
link(Str2,3658577:Data,[(433,149)(370,149)(370,240)(307,240)])
}


Редактировалось 4 раз(а), последний 2017-12-26 02:26:12
карма: 6

0
Ответов: 138
Рейтинг: 2
#7: 2017-12-26 15:34:00 ЛС | профиль | цитата
Вот теперь появилась другая проблема
При активации полноэкранного приложения хук не работает, а также если активно административное окно
Я так полагаю это не исправить?

--- Добавлено в 2017-12-26 15:42:40

И когда активна программа с key hook то вся система багуется
Например перестают нормально работать дочерние формы
Например оверлей стима или сообщения

--- Добавлено в 2017-12-26 16:07:24

flint2 писал(а):
В папке Plug Hook.dll зашифрован, т.к. некоторые антивирусы определяют его как вирус.

А такой KeyHook без Hookdll подходит? Не будет проблем c размещением dll и антивирусом.

Однако вот эта IC нормально подходит
Спасибо

Редактировалось 2 раз(а), последний 2017-12-26 16:07:24
карма: 0
私はアニメが大好き
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)