From eaff0dd27732d5cd1d7ddea1aee315b9e18b0fb5 Mon Sep 17 00:00:00 2001 From: Edward Jakubowski Date: Wed, 4 Jun 2014 06:46:56 -0400 Subject: [PATCH] Extended Msg hook text limit, msg hook prompts before switching between 32 and 64 bits, optionally disable uiabridge's caches Message Hook Viewer text limit is not set to 700,000 characters, allowing it to show many more messages/lines Message Hook Viewer will prompt user if the want to switch between 64 and 32 bits. UiaBridge has an optional flag to disable cache. This fixes an issue where caching is either slower or causes issues when using multiple threads in OASIS. --- native/MsgHook.suo | Bin 0 -> 35328 bytes native/MsgHook/MsgHookWindow.cpp | 17 ++++- native/MsgHook/bin/MsgHook32.dll | Bin 108032 -> 108032 bytes native/MsgHook/bin/MsgHook64.dll | Bin 111616 -> 112128 bytes native/SetMsgHook/MsgHook.h | 4 + native/SetMsgHook/SetMsgHook.cpp | 1 + native/SetMsgHook/bin/SetMsgHook32.exe | Bin 10240 -> 10240 bytes native/SetMsgHook/bin/SetMsgHook64.exe | Bin 11776 -> 11776 bytes native/uiabridge/bin/uiabridge32.dll | Bin 77824 -> 78336 bytes native/uiabridge/bin/uiabridge64.dll | Bin 92160 -> 92160 bytes native/uiabridge/org_synthuse_UiaBridge.cpp | 10 +++ native/uiabridge/org_synthuse_UiaBridge.h | 8 ++ native/uiabridge/uiabridge.cpp | 31 +++++++- native/uiabridge/uiabridge.h | 3 + native/uiabtest/Release/uiabridge.dll | Bin 77824 -> 78336 bytes native/uiabtest/Release/uiabtest.exe | Bin 52224 -> 52224 bytes native/uiabtest/build.bat | 5 ++ native/uiabtest/uiabtest.cpp | 11 ++- src/org/synthuse/KeyboardHook.java | 35 +++++++-- src/org/synthuse/SynthuseDlg.java | 79 ++++++++++++-------- src/org/synthuse/UiaBridge.java | 11 ++- 21 files changed, 162 insertions(+), 53 deletions(-) create mode 100644 native/MsgHook.suo create mode 100644 native/uiabtest/build.bat diff --git a/native/MsgHook.suo b/native/MsgHook.suo new file mode 100644 index 0000000000000000000000000000000000000000..122cf7b5b383ded683018ac4d90a25555326ac06 GIT binary patch literal 35328 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 25000) + if (len > (TXTBOX_LIMIT - 500)) {//need to truncate the beginning so the text doesn't go past it's limit - SendMessage(txtHwnd, EM_SETSEL, 0, 10000); + SendMessage(txtHwnd, EM_SETSEL, 0, 20000); SendMessage(txtHwnd, EM_REPLACESEL, 0, (LPARAM)_T("")); len = GetWindowTextLength(txtHwnd); } @@ -173,7 +174,10 @@ void StartMessageHook() } else { - _stprintf_s(tmp, _T("Target PId (%ld) is a not matching bit process\r\n"), targetPid); + if (current64bit) + _stprintf_s(tmp, _T("Target PId (%ld) is a not matching 64 bit process.\r\n"), targetPid); + else + _stprintf_s(tmp, _T("Target PId (%ld) is a not matching 32 bit process.\r\n"), targetPid); AppendText(txtbox, tmp); TCHAR *dllname = dll32bitName; TCHAR *exename = _T("SetMsgHook32.exe"); @@ -184,12 +188,17 @@ void StartMessageHook() exename = _T("SetMsgHook64.exe"); setMsgHookRes = IDR_SETMH64; } + _tcscat_s(tmp, 500, _T("Do you wish to open a new matching Message Hook Window?")); + int mbResult = MessageBox(mainHwnd, tmp, _T("Message Hook"), MB_ICONQUESTION | MB_YESNO); + if (mbResult == IDNO) + return ; _stprintf_s(tmp, _T("%s %s 0 %d"), exename, dllname, targetPid); RunResource(setMsgHookRes, tmp); //EnableMenuItem(mainMenu, ID_FILE_STOPHOOK, MF_ENABLED); //EnableMenuItem(mainMenu, ID_FILE_STARTHOOK, MF_DISABLED | MF_GRAYED); _tcscat_s(tmp, 500, _T("\r\n")); AppendText(txtbox, tmp); + PostQuitMessage(2); return; } AppendText(txtbox, tmp); @@ -431,6 +440,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) if (!hWnd) { DWORD lastErr = GetLastError(); printf("Error Creating Window %d\n", lastErr); + _tprintf(_T("Window Class Name: %s, Instance: %ld\n"), szWindowClass, (long)hInstance); return FALSE; } mainHwnd = hWnd; @@ -441,6 +451,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) //WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL txtbox = CreateWindow(TEXT("Edit"),TEXT(""), WS_CHILD | WS_VISIBLE | ES_MULTILINE | WS_VSCROLL | ES_AUTOVSCROLL | ES_READONLY, txtboxSpacing, txtboxSpacing,rect.right-(txtboxSpacing*2), rect.bottom-(txtboxSpacing*2), hWnd, NULL, NULL, NULL); + SendMessage(txtbox, EM_SETLIMITTEXT, (WPARAM)TXTBOX_LIMIT, 0); HFONT hFont = CreateFont(14, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, diff --git a/native/MsgHook/bin/MsgHook32.dll b/native/MsgHook/bin/MsgHook32.dll index 493932a112c27ccbc1a8c556134d160585190c6a..e4595045326b7bf208acbe470e464fce3bc3400d 100644 GIT binary patch delta 9081 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 D9R~`S delta 8484 zcmeHMdw3K@w(p)~l1Z2(17skO1oGq=py$~$J&yz=>;MT)cmxClTwY`3B_u(Vb=aLC z#AXmE(0~t6;);M68H5A`MiLR$AQ2IHt%9NqM7fBpMhNu%RZoKM{r1oMefOU`@at1` z&Z$$UPMxZ*>MU!FTGkk~#;#!4way`)MYkUQl_%-d?Z}BgSZzW*C;o7?S*BvOU8c{= zd}s6SYNxE9Ry{%Hudde1bbp)vfj0VqOh-RH-9v4!O-~{<+ar4wuu5jCZ`By4?RSY$ zq<3Ir872>mKeIBoemKcs2lm^~DDW>2JdOPScN(td{e@u$MKDaxBJwnw!8Vdt*~~6! z3&W<`%rlIeVVc;r>D|dqR;AeQBzM?eiuoMLP?WRZ2R16Evg;!4ic%+WMkcd;$i&Eu z%(Nm#<7>zgO(`gNl14KczrXdKBzYLPQY4*`v}&?B@+ZY^BUz_hp?S&9FeQ3_K~{MQ zQxvMSlfF^eYy){Xsw=A@v!h&i)4|G+{z z$xuz|SPR2brx=2h#KKm?iO^mhS*@~Y_WV0{E;*x0XGfA2)ljyEIAZMGX)`g7c3=ov zS+q^q5Hy^a5_*p#B&LwvNiN3>X4Qer*u!k>w1EsGe)nj7Vu70b};(tKCHrWo0LA18;n>^ttGuQF3g1jA6>t zJ(}L+wXC;O?k0vk6;sa+VKu&gNX4Q_ZUAjEJv%4nclE05#lP1ANxjr;N2&?S|7Nof zd9?TAilv>%vEDNkt!^@?PiAs8^u)M}=s|25U*vge4pL`>rd5(c9GTn4tEh=5H~M5I zzJNUPIW9qsNvL=gF{2rk-Iw>~#WRdYvj$mrb{MN^wu^C8sVG!?Ns@dGk;{V#%Y9H^ z{!5ux)KbxCPtDv1eJCEZz6nvt_mw31m($)c7w*uWJF*Qit_i~NMIqzYw62293Oa3~ z_Vf@h{5EaD7)lsV1)tu)>t>p$gr4Sh!D40=QMz66EqW*eqeBFFkwYf~*`_GC*zwcZqN;rgqE@x7qv#@G%P?yzXg4}H@0$+>RFjGQTR1c;WlY3WJ!cHKw^gY--vRvT0xE)`p~JnY3Pzl`!WQlU_<6283w!Y zfhgJd5e?FoWEy9B+u|M$cGok=vhYd}Z-%;|CNI;{PRoBOjc;F~K@7XuEw2W5=wDy7 z>6AgIEWUjir9BCqoVFIBrgo*$xNtMiGAdU?I|WfG@-(69ADiV4b;bLS7LX#NL+44R zDLY;ss^_l=jXc_7lSdK%3kjOiGK{&Hd!Qzd(ZpcrYf-+`R;KlLa*4uhV=csK{!6qS zkq{k5a>P7Bz2JrGdErLnWu=tgK-lJ)&mhcS3%mSg3Iqh0;!vc|w-_UP&gqgeT(9jKriwD;ehF z$gCemklwbPQJ3J0=PWsAON}~Bi%o%6+fY_7TRX+22m`=T|AVDNY$88rBm0wiLH zhaDD}Gh{tWraiRA>wX$>#ILH1VYUGczQJ~XCufL zv-^`>^(y4g+Vn0Y$&(acJDeU`kprMr!-><=U9n~)nds?Wl3d7W1_C=5QF-{c3hv=} z!<;T{=P=Ar#E&aNy#Js#1w4A7ZTy4Yv*7iC-sC^<;xRY1Zus*5`TKvHzlF%j|GoST z94R@k2<)1>h3&{I-18Te7L`3-S~zpjqQ_>>3>40fVFS|^3{iO7b2;T%hTd41PHpgD z)z;8`h0>1LZ#rX@=7U-pW{VcQE)0_fa6r>gY#k3V%uUFffSah-&@%KmoTY0(8Ni4> zs)0U0EpXyl#=u-b;SNv*aLX9R20RSR0AjGE2*7k;9dHURNzbDP*R3=7Jm&Q|czA|}Ibxh#n@kowH_toRlf>oW7|x){R?5fOG{uu8Yig;T zt)4J58V8vsyyI~+3ZIOAj0hh-49Ca#A7P6t{dU|GEBzKcZS@JOJ75BuBmBb|(YU#; z7WTxW{+H)DD?+tn&4-ksN$Jhut5z{`_o~wUN=QB*ibufieDamVGYp zkJa@o`!-pEzuqZ9uo-nFuzPyi;X>oy%4Im2;rGjC9=ClPx8>jmgRm$$3nVK+(oUYHuUr z5Xr@I30!xsC)bjA9zL$QW-l(_ghv^ITqxDbgz53_$e*Jp=%lbF;yYzeX`}NKGpY-?i8bcRD zvLVaR-@q9r8kQJDuVJHMtKn_KF2g>6Ix z@l|7!@q+Q1@n_>5BV$sUVoeFAL{oQDhRJMt$mBN7FwHfsG_5neX?oYR$5dy!V7g?w zX1ZazYf_s#nY)<>nDu6hInO-ITws30Jk{(muQ0!0_Ewo+GymPZ+uUG2Y5u}|)%;)P zJLV`}&1?B&K8?@j`|&!S=ZEt}{CIvkKaXFC@+bJy{0077 zzM21-mw1&W&eGYEYUyRsSsa!jmeH2+mPakqElVuREXOS;EoUuXTdrGfS|Y4T*36Ms ztF_2F$y#N7)q2QUZ~ex)Qt%6#g@eLp!k2>6Hq=&Rn`b*<3)&R+Y`fm>v=6h7vQM=8 z?4tce`z!W0?Az?S?0f9{?Lm8B%UfwQR}x9^?UsnYBPkASPgP7vBImacRH$Ahu{%bv zX=L1vCs+mfaK~acEnwZbg7vy8Cuga~yL>;Sxy0XG{y23SlJ&f#y@HFRt5SKQF9^-- z4ahr}U;8g?s4nrCq-~^fG435I_iJxZcBS$K)FkbDVbQvZK_Mk?%9_lyqh{UttXlo z8eEkXSsJ=gUGx3MmgQkIy&;gaEVW#zyxs={J6;+bzK>&zJdPi+-$Hh@O%`c5E;Si~ z*RDp8QSTOb_rsS0|DRQ}@Jr}fff~aM7bCM=euoz0s>22YGdE}b{8mE66);0?^BYm{-NQatFBh=SQLDbYY*{iqboPKn-*Krx4DP45d`Y_$-ZqU(?;23-(YkB-IbcCCK*AgjL1Zk$m^CM+RXImdf!0l(c>5Sp9LwQ)y)@z9?XD zt9pa94SWlg(+PYbEc3L<+6P{QA)$R=#7ELzpuzFS6`roH zfj{oe6w+aLw)YSXg@1jP23+($6}{(+C-TLQCG7!O6gOG!%N(}Xv&~*F^!0LkUm0Q9 z=h}H%KdR)$jx@3nIYJ$0i#N0 zY*Ldsf#))BQ6*nPANgx2{UVCr?~BG|i(As2X!i_s+{>hS9Cr)E1t5rK zp-ke;AVVutN77p5(5y5`I~m3+mF6B~*&fS;(`Z_n?6TFD#T>x!8S!p&r?&B5j=|bF z8|EsvK@UpmI&1<=XmDQ8_8xG!^2= zu=q!OyAPEpaa~sm5YmN@WQ{QdT`QD2YRKmp48oN5L|`nLWZwH-ylIp##(f5-T%xiQ zEW0Y%0#T`=B~cqgyNdf6sTJCVFLaeM-{<%a45my)6Zk4x`W&}qhFa2ILRD0LgKG1D zO67S_pJSgajG@}cA#U_JK5AE2y(jAjkmP&2b@7BGsT8Zc+2We6dT{e17a^0aFF{MhPR*qZSk;`9^wGu{MzMu;3%%m()d5Drq<)CC*tH@eI6)Ke+xF0K{z=Su!kChBcbaZI& zK2Fv&r93FV*H&I2X}h4?O63CR$zceU!)v?Xz?G*1K@Y)6_Wt-8mu`zE<_%(YDVZ9>1n0i5px?^$qTBNcLF7Xpd zdkVbfXY0@-(gGn}1MR)Cb_=pEtS!d9B6GfPk_efO4=K81Lea#$)D;3RfL?{j#lzvT_)LC7pJ;_B*!c4G#J^@)VP#=mi$=fS9H2U zmhQKB*I;&~>~(lHHX4HUjr8!4)OL7K9>6`z<(rYkF|Nb|8s2I?E7Y=!J!r2LGMpDOtoD?ew@$;vK{2y8i!t{_}_Q{cmcZ?Q_;3G?um zv(9lVyUKrsV_Lh(jIQz_>aD{=NklMPK3Qi6$3(EvI9Vr=we?fIW83no6B5ad+}?uq zOew2YF!*Zt^vA-zSYs3utB+a`)7GY4_bU46 zj(olZT}s2cDymE7H^jtY=`l^%hV^)1+$R2p%svlly%?rjas(5@dKiTp-;!W~9*)>H zZvssXx7FTH(e^25{;?Ic)lG}fVblVs9;ih*5A+G32IXa-n*j~V2q2?G3=&aRfg+Af z7Rr^w40|!4>KzWj29&9NI$4KOp_GCOor!Y*Ez?LV@a9SB zMbgW!2abJS`w6@LrN3@wmwPKsFPJu)s!bo7&Y8Z(<>H=6WsW!ZGaGQV7-b$~o?@P5 zUT!AlE#?o+$Ia)=*UUegBlrZ|BnI&#_)YxVd;m9wRzAkUTOP8ku&lNaOM~Te%XgMr zmS}5+wV%~u&9&xRJyySUo%J8qlUB8mDD)7rgnoii80-~B3X=toFkg5^*e+ZUt_atJ z8v<)fvh}d#+a}p&*eY$W+Zt@&*nYA_+q>DVxG&_}$JigSPqlmP%W+qD$G+G8h5ds4 zTl)|8TlU}VQ4Y1ElOw}1z+rR}ck7t6V&+rUw|>u%~KUA(@(UZ)?TFV>gn7wcE(cj#;M zNAwrD2vy$(^59A->UHmA17XJjlm|wyB`Stt`T;)FE z|H=Q0zstv423m40BXDhd+VWS+a~9FE&a&B3V>w|tZ}Hx;VYpBvJR-~#<_U|0C4x^_CA=hT6}AbrxYE@N$Azzj?}Z+H!5i({4>=!pKIL5IT;*Knta85Qtafg9);RY%F&$XxSklZzokpLiM_~azz=KTI XPt#x0hx9+_Rk(onF$8|vY>fDC*a>yx diff --git a/native/MsgHook/bin/MsgHook64.dll b/native/MsgHook/bin/MsgHook64.dll index 7c1bd4c0474ee8a3f7f8f7eeaf80a5494d63be5b..c97476e3b64c224bc31443ff60b8bfeeacbd0748 100644 GIT binary patch delta 16723 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�t^G>F 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 NM;F!y2UcZC{{n-%m7M?p delta 1132 zcmZuvZA?>F7{2$mg{~BfmIAX=sfbI^xzls*`MB*>t1>n=SoknHP^ONL)di~y#l(FC zvI3LT`oUQY8xu3w7Tpi#Rx$-QZBjx;hLbIu(_k_(!=^Gf7n8*};O+uu*$>W-H|IR> zd7t-rpS+DljYUWAx=y`ys8o1(#so=B5-ozTKnK$1!2Nuo_@q=e#5ao1O23Qzuvjh) zSov+SQ`{GAl_FwJ?Upb$X8Hs_bNPfK?MinQ^$8!;>cO8ohlG=7U)%W^W1wM!KLhv# z%^~O|-7|P|Eclpz#q3YV3{SUz4orMS&_+T7Miko-E}TS{Zr(8nLU_C)j)qDjW#X3B zh&rWdtr4b2Z`^h`Nfd+$LnL1a%P0HJ>3reANXN_&HQ|&R@51_}HO=1#9ej^zxtPt5 zn%1X{>$z~fIW%psHC@y1p=qP-$Os=d?OrfFt!Zc|JQ%t!*_zMt?Fm`X)}-lw<`HUZ z`c+Rn6#L?~|KwKlv4jdoqBJKubl+J2hB7O;KFCWFv!ChJ^@avg=CQ*yPnV!I5|K4c zE1vb_e{EX$@x(5xWm400vgVkrse|X5*BF6r1g|q!i5vJ;^OB^jnOSx3hKGmwlzFw- zAI*8>Wl{9QM?Cx`4bYFK*x-;QQxCY8lfqAeHmcZ9w z18jj2_zvuVU9boC!hSdb|AJF61*IV;T7gy}fXdMU6mCH8qHc5=^`Nup0*a$6=mwHx zhwPN8yjI>U@06?Mee&yaqkKXhkw@iQ@;&*1EMOD1U>i=wi}7+y@FrY@tMDFt5Vzrv z@Ta&J_u)}IhHv3N@ITl}7LiBE69f`Qd?b$)kTSA^_{rPk2x(|1o#bQkIT;|A$&chW z@+Wyf5~!6rsFP;WY??#el+t`!Ot;cX8lZ=08*QhZ^h5dy{fwTY7wI6qM1P>8^ah=v z_oznAEScHa61I}L*;=-dm9VX>f>p8utdR||%j_!qncZf0nL)`=vYt~ErC8afv@0i+ z3rbx1MLFn+cuso0@_gs{$+OOz>n-*Myyv|!ucT(HP+h0ysn4tBYDf*M$JO`MF7=e! SqxP!(YD|reWoOQ;PU^oFgos!G diff --git a/native/SetMsgHook/bin/SetMsgHook64.exe b/native/SetMsgHook/bin/SetMsgHook64.exe index 4581d772e71ef95759831474ddef0066698ac39b..aa0b5536234e2347f2d535d86f8227087594a17b 100644 GIT binary patch delta 3111 zcmYjT4RBP|6~6CfU)XH+Wj8c8Az1?X*~CASS0 zgS+*|v~>I3mOWi(iN9K|8LeYX@{b~nS&nh;%OII-YOCe)$#U@GwB&D-O_)c?=JFh= z9peQ^k{>6No%A4(G6kBN53C^Tm?i!s`NLqL*-a!fk}8(`$+Yr1RrjrvqlL$Edg8%* z{iJ4))SktRiN8sHkDpdjIcFpN2WcLcKRTD%IzP2qvb%hzpPFo;)arec?wb<6=^bUd ztJt?qLW0|7-!`Od`7-G28h1%vmLD@P!y!A^FX|(5!?O zUvQKV^My-FDD#CXEOBC7@+x1fgDA#inqNjnSeXWN+`blwWL`qqcV=WH^IO0EHUQU) zw-fw+7r zsU72kCe{f*S*m(6K{m%20!dW>I|c>^h^E3RBcm{1BjO*SKf?=oZ%41XT=QJa+dZ!- zJx$ZNPsjZ&W4dU-Msa4N7?ylWnasyyl&4rWyO6xL?-yLcVeh2{il^7plEQ$cv zLbMp@j3us0eg#reMdf}WN9>>MsNp_2KEid|00kU1Or zDslWSaDZUihO1L%E$-{mVz8IIZ^9o2A}6!F`PlRK9(x<@&{h`>D5g z?u=S%&BN7Rret|?StA`BvjN0%jc0H$x?E!q2zvRbB4#g0hg16qNlr(+PVy&^fn)U6 zdY4PuHV5FEidkz<_LUq*@l4F-=NIZPFTqir@U_N717iS%hj1gZ+$(5M{uW`JfHsru zyTPeF1`d;E{OWo`-ri8vZ6nx{!Vtb|EzB!@b1g{jL4&bj<3Sj8gv`jkl0?>e%($Nd z*~uS+u+(BSW?O@IAyk>}CcQ810q|F)+LNK;sjq!Q<;r;=YBLJrK9wAl0(7z zg0%aq;Ato0N)g5-08tq8A?BAkMhMhSPGVoOz7j&u1Q{E(lmAj0z=Q8WA&mE9-Xo>e zmA{yjG8IUS{S3M;`A-qVP6nVw%T)Bk@I>#_e(~-N z$0G;S`6^YD8haLckB4v7*TuZ?@Qvvp3bow+_}(L}90VFI{g{Yj+*dE0mb@4KJe?RygC?OrMdho%lo~#C4C56rBI-3>IGnQ^#8vO!mPlalzbCF zlunyvUzL5O>Z7j%oB#O`I>vG@p``;@gb(p~l)U9ST9~6sQ(4foE6;9{#OW@#Bi`=q zFRO^PDzot{eO!gQ4j1{F^dj$Q*_vQNZSCYz@1{tjw=iM`OMOKEil%uKTs8&0Z%15x z!~5QJq%EDLa+^-zJvy4mo*borj|GK)4tt(?# zmA}B8-$~bUtK{ED2=yNz`7~d;&fg)*X7jq z(1iGzXjeZICr4$|3YFhV^V}#n$9C(|53?U-2%pTpua@5u+G9- zInx3f3v6JlyjW+&EA-Ymd?WUygYhKr^k|^~3#}|>p%ukDN(w%6*rS-^Ba9=!67{h` z!g?>)lyI#OyB=}2;>$XK@gMJvn#Q{8QZr-Ku_9KYZDV>jI)zB|Z#5W=eI8El$6bC5 zhylEk7d*I>|KGiP_25-Dt^gkD5 BORWF^ delta 2910 zcmYjT3vg8B75?wt++{b}%Wgt$LLO^2W;Y2cG)rZ*|vxvWHPX{)Uxvvd>qoPX+5p_LX24-aBbYrm~JYk7l8C-{Jr}bn6&nvVi4;T*Rq6L z>Td~8YnMrFDtjSu?T7>IbD&8F>JiY-9ca4)<%(I1+&TsJ2w_Ha83a<^1e&PB7Np=> z1b6G4Zk^Gs?r@WCoD8kid8B56eUB1c8LELx%Sqkr4F_DX`^cDR@y^t8|v*JOWR z2H_BCTM2nLQmtuqBuK(DDg;y6(*Tk$`~cxp_+AIwl*eWZ|29g3{{r-fYZs_FX*CWZ z#kF@F>7amq?+7mo;T1=qmT>K$BWw}E6OQl-rDVoZmdJvRYhqHZ?oT$XZ z4z??g%@GmA@%{ii#?$I^)%G$^Bz1yXk^WgY04;W3i`|!4rcp$b z$E(L)znb0adIvifaq=i!Y@Oz#9oCge6%o_0;@U$_tVU7Xdt6%!d9n3gXUaO0`|}Lv z^q4*8oMjL;T)PbhD7fY9AY%c@XNstcC{4GfxHbYQDkJ6OH#YPS<}hzu`yF&#+n7(H zl#I`C?WtMI#F$8ji$nX6GA20I4_vpjTH$s!A#=E??Lrz!xVg5R@U;4_a61IImds=T zieC!F6F&O|?@#MKB_rcx<52d?>&u5mZ&!Cz+N%l|MX%M-9IKy#=xJpm#y_4`;vnee zU4p2sART6K8A)bGIK;JX1UHq|>+DQnTi1EGCaU!Ip``aX%4gQhWJ$jM550JH#vHBk zJnUfP8^lY1TSvByOgg}AS1dMge7Xwn6^6ma8X$*M0!j86Oz&`r38_6Q;J)P zhd4{~(pKtc7_HplY0gcdH=_T9f+amPz!UH^qF05&$F++PE#>bJCl{K^2cSmubpd+G zdIWIRh`v2*?l~gt2QcKmin2{P&J%dbC)@P($}b=w&y_j*hrUIrHh2tDC-JI;i;mY3 z*Ix8cl4_2Ksd%p!q!7eXUaG}uNT^^4prt%XqMUmRJ;`|sD5=ZkR02)@w2PwNfv86G zJhW(;h`s}!=$)7syFm^6*C7YIaOTjaN<3(PSN)dktG1t3Z%B;+($l@+-3Y2184uFA zpH!A|f{3Ynt%{`Ha6cKCN)xohiW^E~lNnYRII0c~ua=QTM|czXBYA!c*UGT1sceCr zXhUurvc`u%b5lA^X*Gpx(HlrcbSbP@vd}TSTady6Lubo$Q%mJBV+c$Kw2&tx8De~rTTHYJhBh>Y_=scl%=1C`T3s*<@h`} z8~25qnEqz-(|=p|_>GX;hZ8>i^HH42vw$bJ(JQ!#YqubT_>gn$4YaVs8tZJiz_p`a z;a>qy)@`%kA(y?i_{Q58Ax`J#=i+AYCfX2x12OS8FqGvHS>#tB?rw4Sh*2KC8*AJ{OTji4G*n<_@Q!Dc$R)U#Yjxj%gN1LeRlbH{H1X6*-3T|ht z*ex@6v)nXmzoHT&hjjw>bVd)wNF>pHU3|!XRM;i#k|rcCNF2~VML(+Bq^WGK%nZXFZB+5ABN>uy(m_N z#@H!}0NRXo6nqSHGuBJscY;2J6#$QBG6g*-1@8exPgxi|(beHvJq={0ah`$J0iw5sj!n tD0@4Wr@?8#e()5Z4(mh^M%57LB;Lm&o;oe#BUD{)|69H^;JIPS^*^~U9Z>)P diff --git a/native/uiabridge/bin/uiabridge32.dll b/native/uiabridge/bin/uiabridge32.dll index 4a7088491563f588a9438fa56cbf4cac5d53967e..49b226eadf612c6d2dba4fa62861a48be08b60bf 100644 GIT binary patch literal 78336 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
    7URpFU8uFxr`QR49k82R!6HyxDn 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 QOwWZLc>nPCd(MIX2NDrLoB#j- diff --git a/native/uiabridge/bin/uiabridge64.dll b/native/uiabridge/bin/uiabridge64.dll index 0562c3a9bd47ae3f1dff7d183f6b60faf06ad120..629a52e4f0d98be568d778412eee09293d9f82e7 100644 GIT binary patch delta 32990 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 diff --git a/native/uiabridge/org_synthuse_UiaBridge.cpp b/native/uiabridge/org_synthuse_UiaBridge.cpp index 949f69d..edb266f 100644 --- a/native/uiabridge/org_synthuse_UiaBridge.cpp +++ b/native/uiabridge/org_synthuse_UiaBridge.cpp @@ -37,6 +37,16 @@ JNIEXPORT void JNICALL Java_org_synthuse_UiaBridge_shutdown(JNIEnv *env, jobject { } +/* + * Class: org_synthuse_UiaBridge + * Method: useCachedRequests + * Signature: (Z)V + */ +JNIEXPORT void JNICALL Java_org_synthuse_UiaBridge_useCachedRequests(JNIEnv *env, jobject obj, jboolean jcacheRequestsFlg) +{ + Global::AUTO_BRIDGE->useCachedRequests((bool)(jcacheRequestsFlg == JNI_TRUE)); +} + /* * Class: org_synthuse_UiaBridge * Method: addEnumFilter diff --git a/native/uiabridge/org_synthuse_UiaBridge.h b/native/uiabridge/org_synthuse_UiaBridge.h index a41405e..06bb5d7 100644 --- a/native/uiabridge/org_synthuse_UiaBridge.h +++ b/native/uiabridge/org_synthuse_UiaBridge.h @@ -23,6 +23,14 @@ JNIEXPORT void JNICALL Java_org_synthuse_UiaBridge_initialize JNIEXPORT void JNICALL Java_org_synthuse_UiaBridge_shutdown (JNIEnv *, jobject); +/* + * Class: org_synthuse_UiaBridge + * Method: useCachedRequests + * Signature: (Z)V + */ +JNIEXPORT void JNICALL Java_org_synthuse_UiaBridge_useCachedRequests + (JNIEnv *, jobject, jboolean); + /* * Class: org_synthuse_UiaBridge * Method: addEnumFilter diff --git a/native/uiabridge/uiabridge.cpp b/native/uiabridge/uiabridge.cpp index d095bdd..8fc5182 100644 --- a/native/uiabridge/uiabridge.cpp +++ b/native/uiabridge/uiabridge.cpp @@ -18,6 +18,7 @@ AutomationBridge::AutomationBridge() { enumFilters = gcnew Dictionary(); cacheRequest = nullptr; + useCache = true; initializeCache(""); } @@ -25,6 +26,7 @@ AutomationBridge::AutomationBridge(System::String ^cachedProperties) { enumFilters = gcnew Dictionary(); cacheRequest = nullptr; + useCache = true; initializeCache(cachedProperties); } @@ -36,6 +38,11 @@ AutomationBridge::~AutomationBridge() //Console::WriteLine("disposing of AutomationBridge"); } +void AutomationBridge::useCachedRequests(System::Boolean cacheRequestsFlg) +{ + useCache = cacheRequestsFlg; +} + void AutomationBridge::initializeCache(System::String ^cachedProperties) { cacheRequest = gcnew CacheRequest(); @@ -158,7 +165,10 @@ Boolean AutomationBridge::isElementFiltered(System::Windows::Automation::Automat } else //all other property types that are strings { - valStr = element->GetCachedPropertyValue(ap)->ToString(); + if (useCache) + valStr = element->GetCachedPropertyValue(ap)->ToString(); + else + valStr = element->GetCurrentPropertyValue(ap)->ToString(); //valStr = element->GetCurrentPropertyValue(ap)->ToString(); } //System::Console::WriteLine("test property vals: {0} , {1}", valStr, enumFilters[key]); @@ -285,7 +295,12 @@ array ^ AutomationBridge::enumWindowInfo(AutomationElement ^pa //System::Console::WriteLine("get info: {0}", getWindowInfo(element, properties)); //AutomationElement ^currentElement = tw->GetFirstChild(element, cacheRequest); AutomationElement ^currentElement = nullptr; - currentElement = tw->GetFirstChild(parentElement, cacheRequest); + + if (useCache) + currentElement = tw->GetFirstChild(parentElement, cacheRequest); + else + currentElement = tw->GetFirstChild(parentElement); + if (currentElement == nullptr) { //System::Console::WriteLine("no children {0}", element->CachedChildren->Count); @@ -319,7 +334,10 @@ array ^ AutomationBridge::enumWindowInfo(AutomationElement ^pa { output(ex, ""); } - currentElement = tw->GetNextSibling(currentElement, cacheRequest); + if (useCache) + currentElement = tw->GetNextSibling(currentElement, cacheRequest); + else + currentElement = tw->GetNextSibling(currentElement); } return winInfoList->ToArray(); } @@ -387,7 +405,12 @@ System::String ^ AutomationBridge::getWindowInfo(AutomationElement ^element, Sys else currentVal = element->GetCurrentPropertyValue(ap); //cached pattern was having issues; } - currentVal = element->GetCachedPropertyValue(ap); + + if (useCache) + currentVal = element->GetCachedPropertyValue(ap); + else + currentVal = element->GetCurrentPropertyValue(ap); + if (currentVal == nullptr) continue; if (ap->ProgrammaticName->Equals(L"AutomationElementIdentifiers.RuntimeIdProperty")) diff --git a/native/uiabridge/uiabridge.h b/native/uiabridge/uiabridge.h index 6025d86..d7b2a01 100644 --- a/native/uiabridge/uiabridge.h +++ b/native/uiabridge/uiabridge.h @@ -20,6 +20,7 @@ namespace uiabridge { AutomationBridge(void); AutomationBridge(System::String ^cachedProperties); ~AutomationBridge(); + void useCachedRequests(System::Boolean cacheRequestsFlg); int addEnumFilter(System::String ^propertyName, System::String ^propertyValue); void clearEnumFilters(); Boolean isElementFiltered(System::Windows::Automation::AutomationElement ^element); @@ -38,12 +39,14 @@ namespace uiabridge { static System::String ^PARENT_MODIFIER = L"Parent";//find all children of this matching parent filter static System::String ^FIRST_MODIFIER = L"First"; //find first element matching this filter then stop static System::String ^DEFAULT_CACHED_PROPS = L"RuntimeIdProperty,ParentRuntimeIdProperty,NativeWindowHandleProperty,ProcessIdProperty,FrameworkIdProperty,LocalizedControlTypeProperty,ControlTypeProperty,ClassNameProperty,NameProperty,BoundingRectangleProperty,ValueProperty"; + private: void initializeCache(System::String ^cachedProperties); void output(Exception ^ex, System::String ^message); Dictionary ^enumFilters; void AutomationBridge::processFilterModifier(Boolean filtered, Boolean modifierChanged, List ^filterModifierList); CacheRequest ^cacheRequest; + System::Boolean useCache; array ^cachedRootProperties; }; } diff --git a/native/uiabtest/Release/uiabridge.dll b/native/uiabtest/Release/uiabridge.dll index 9f4a4c8536bc19785c5d8b3ba9242fd6612dcaa6..b0bda67ab9ace0e8d1a8af421ca3144efbf12369 100644 GIT binary patch literal 78336 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 diff --git a/native/uiabtest/Release/uiabtest.exe b/native/uiabtest/Release/uiabtest.exe index 030141b9527c112abe8e61da39547e654a6412f9..568d2148424d4d1961cfa33aa23181a61583b77a 100644 GIT binary patch delta 9493 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 Ap#T5? delta 9142 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 P#)_eVBP~K-vG#ufkskYC diff --git a/native/uiabtest/build.bat b/native/uiabtest/build.bat new file mode 100644 index 0000000..31816b9 --- /dev/null +++ b/native/uiabtest/build.bat @@ -0,0 +1,5 @@ +REM set path=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin;%path% + +%WinDir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /p:configuration=release /p:platform=win32 %* + +pause \ No newline at end of file diff --git a/native/uiabtest/uiabtest.cpp b/native/uiabtest/uiabtest.cpp index 9c39bda..41541e6 100644 --- a/native/uiabtest/uiabtest.cpp +++ b/native/uiabtest/uiabtest.cpp @@ -60,11 +60,18 @@ int main(array ^args) { Console::WriteLine(L"UI Automation Bridge Test"); //System::String ^propList = L"RuntimeIdProperty,ProcessIdProperty,FrameworkIdProperty,LocalizedControlTypeProperty,ClassNameProperty,NameProperty"; - System::String ^propList = L"RuntimeIdProperty,ParentRuntimeIdProperty,NativeWindowHandleProperty,ProcessIdProperty,FrameworkIdProperty,LocalizedControlTypeProperty,ControlTypeProperty,ClassNameProperty,NameProperty,BoundingRectangleProperty"; + System::String ^propList = L"RuntimeIdProperty,ParentRuntimeIdProperty,NativeWindowHandleProperty,ProcessIdProperty,FrameworkIdProperty,LocalizedControlTypeProperty,ControlTypeProperty,ClassNameProperty,NameProperty,ValueProperty,BoundingRectangleProperty"; AutomationBridge ^ab = gcnew AutomationBridge(propList); //System::String ^propList = L"RuntimeIdProperty,BoundingRectangleProperty"; Console::WriteLine(propList); + Console::WriteLine(L"\nCached Requests Enabled"); + ab->useCachedRequests(true);//disable cache + runBasicTests(ab, propList); + runBasicTests(ab, propList); + runBasicTests(ab, propList); + Console::WriteLine(L"Cached Requests Disabled"); + ab->useCachedRequests(false);//disable cache runBasicTests(ab, propList); runBasicTests(ab, propList); runBasicTests(ab, propList); @@ -102,6 +109,6 @@ int main(array ^args) //System::Double seconds = System::Math::Round(System::DateTime::Now.Subtract(start).TotalSeconds, 4); //Console::WriteLine(L"Total Elements: {0} in {1} seconds", winInfo->Length, seconds); Console::WriteLine(L"press any key to exit"); - getch();//wait for user input + _getch();//wait for user input return 0; } diff --git a/src/org/synthuse/KeyboardHook.java b/src/org/synthuse/KeyboardHook.java index 08b5542..815eefd 100644 --- a/src/org/synthuse/KeyboardHook.java +++ b/src/org/synthuse/KeyboardHook.java @@ -81,6 +81,8 @@ public class KeyboardHook implements Runnable{ public static HHOOK hHook = null; public static LowLevelKeyboardProc lpfn; public static volatile boolean quit = false; + + private static Thread khThread = null; public interface User32Ex extends W32APIOptions { @@ -199,6 +201,14 @@ public class KeyboardHook implements Runnable{ //stops Keyboard hook and causes the unhook command to be called public static void stopKeyboardHook() { quit = true; + if (khThread != null) + { + try { + khThread.join(); + } catch (Exception e) { + e.printStackTrace(); + } + } } // search target keyboard event list for a match and return it otherwise return null if no match @@ -228,14 +238,27 @@ public class KeyboardHook implements Runnable{ } return target; } + + // clear all target keys to watch for + public static void clearKeyEvent() { + KeyboardHook.targetList.clear(); + } + // add more target keys to watch for public static void addKeyEvent(int targetKeyCode, boolean withShift, boolean withCtrl, boolean withAlt) { KeyboardHook.targetList.add(new TargetKeyPress(KeyboardHook.targetList.size() + 1 , targetKeyCode, withShift, withCtrl, withAlt)); } + // add more target keys to watch for + public static void addKeyEvent(int targetKeyCode) { + KeyboardHook.targetList.add(new TargetKeyPress(targetKeyCode)); + } + + private void registerAllHotKeys() // must register hot keys in the same thread that is watching for hotkey messages { + //System.out.println("registering hotkeys"); for (TargetKeyPress tkp : KeyboardHook.targetList) { //BOOL WINAPI RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk); int modifiers = User32.MOD_NOREPEAT; @@ -256,6 +279,7 @@ public class KeyboardHook implements Runnable{ private void unregisterAllHotKeys() // must register hot keys in the same thread that is watching for hotkey messages { + //System.out.println("unregistering hotkeys"); for (TargetKeyPress tkp : KeyboardHook.targetList) { if (!User32.INSTANCE.UnregisterHotKey(Pointer.NULL, tkp.idNumber)) { @@ -263,12 +287,6 @@ public class KeyboardHook implements Runnable{ } } } - - - // add more target keys to watch for - public static void addKeyEvent(int targetKeyCode) { - KeyboardHook.targetList.add(new TargetKeyPress(targetKeyCode)); - } @Override public void run() { @@ -286,8 +304,9 @@ public class KeyboardHook implements Runnable{ } public static void StartKeyboardHookThreaded(KeyboardEvents events) { - Thread t = new Thread(new KeyboardHook(events)); - t.start(); + quit = false; + khThread = new Thread(new KeyboardHook(events)); + khThread.start(); } /* diff --git a/src/org/synthuse/SynthuseDlg.java b/src/org/synthuse/SynthuseDlg.java index 1d643fa..7c80a37 100644 --- a/src/org/synthuse/SynthuseDlg.java +++ b/src/org/synthuse/SynthuseDlg.java @@ -88,7 +88,7 @@ public class SynthuseDlg extends JFrame { //private MessageHookFrame msgHook = null; private int targetX; private int targetY; - private UiaBridge uiabridge = new UiaBridge(); + private UiaBridge uiabridge = null; /** * Launch the application. @@ -296,7 +296,7 @@ public class SynthuseDlg extends JFrame { btnFind = new JButton("Find"); btnFind.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { + public void actionPerformed(ActionEvent arg0) { String xpathItem = cmbXpath.getSelectedItem().toString(); int matches = XpathManager.nextXpathMatch(xpathItem, textPane, lblStatus, false); if (matches < 0) //check for an error @@ -427,43 +427,18 @@ public class SynthuseDlg extends JFrame { this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + //System.out.println("synthuse window closed"); KeyboardHook.stopKeyboardHook(); //stop keyboard hook config.save(); SynthuseDlg.this.dispose(); // force app to close } }); - KeyboardHook.addKeyEvent(config.getRefreshKeyCode(), true, true, false);// refresh xml when CTRL+SHIFT+3 is pressed - KeyboardHook.addKeyEvent(config.getTargetKeyCode(), true, true, false);// target window when CTRL+SHIFT+~ is pressed - //add global hook and event - KeyboardHook.StartKeyboardHookThreaded(new KeyboardHook.KeyboardEvents() { - @Override - public void keyPressed(KeyboardHook.TargetKeyPress target) { - //System.out.println("target key pressed " + target.targetKeyCode); - if (target.targetKeyCode == config.getRefreshKeyCode()){ - SwingUtilities.invokeLater(new Runnable() {//swing components are not thread safe, this will run on Swings event dispatch thread - public void run() { - btnRefresh.doClick(); - } - }); - } - if (target.targetKeyCode == config.getTargetKeyCode()){ - SwingUtilities.invokeLater(new Runnable() {//swing components are not thread safe, this will run on Swings event dispatch thread - public void run() { - //if (!SynthuseDlg.config.isUiaBridgeDisabled()) - // uiabridge.initialize("");//need to re-initialize because it might be in a different thread. - Point p = Api.getCursorPos(); - targetX = p.x; - targetY = p.y; - targetDragged(); - } - }); - - } - } - }); + initializeHotKeys(); btnRefresh.doClick(); + //uiabridge = new UiaBridge(); + //uiabridge.useCachedRequests(false); refreshDatabinding(); super.setAlwaysOnTop(config.isAlwaysOnTop()); } @@ -497,7 +472,7 @@ public class SynthuseDlg extends JFrame { Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2); this.setVisible(true); - return dialogResult; + return dialogResult;// this gets returned immediately } public void refreshDatabinding() { @@ -507,6 +482,40 @@ public class SynthuseDlg extends JFrame { XmlEditorKit.TAG_HIGHLIGHTED = config.xpathHightlight; } + private void initializeHotKeys() + { + KeyboardHook.clearKeyEvent(); + KeyboardHook.addKeyEvent(config.getRefreshKeyCode(), true, true, false);// refresh xml when CTRL+SHIFT+3 is pressed + KeyboardHook.addKeyEvent(config.getTargetKeyCode(), true, true, false);// target window when CTRL+SHIFT+~ is pressed + //add global hook and event + KeyboardHook.StartKeyboardHookThreaded(new KeyboardHook.KeyboardEvents() { + @Override + public void keyPressed(KeyboardHook.TargetKeyPress target) { + //System.out.println("target key pressed " + target.targetKeyCode); + if (target.targetKeyCode == config.getRefreshKeyCode()){ + SwingUtilities.invokeLater(new Runnable() {//swing components are not thread safe, this will run on Swings event dispatch thread + public void run() { + btnRefresh.doClick(); + } + }); + } + if (target.targetKeyCode == config.getTargetKeyCode()){ + SwingUtilities.invokeLater(new Runnable() {//swing components are not thread safe, this will run on Swings event dispatch thread + public void run() { + //if (!SynthuseDlg.config.isUiaBridgeDisabled()) + // uiabridge.initialize("");//need to re-initialize because it might be in a different thread. + Point p = Api.getCursorPos(); + targetX = p.x; + targetY = p.y; + targetDragged(); + } + }); + + } + } + }); + } + public void targetDragged() { HWND hwnd = Api.getWindowFromCursorPos();//new Point(targetX,targetY) String handleStr = Api.GetHandleAsString(hwnd); @@ -518,7 +527,13 @@ public class SynthuseDlg extends JFrame { String enumProperties = ""; if (!SynthuseDlg.config.isUiaBridgeDisabled()) + { + //System.out.println("useCachedRequests false"); + if (uiabridge == null) + uiabridge = new UiaBridge(); + uiabridge.useCachedRequests(false); enumProperties = uiabridge.getWindowInfo(targetX, targetY, WindowInfo.UIA_PROPERTY_LIST_ADV); + } String runtimeId = WindowInfo.getRuntimeIdFromProperties(enumProperties); String framework = WindowInfo.getFrameworkFromProperties(enumProperties); Rectangle rect = UiaBridge.getBoundaryRect(enumProperties); diff --git a/src/org/synthuse/UiaBridge.java b/src/org/synthuse/UiaBridge.java index 017b3e8..e136f7c 100644 --- a/src/org/synthuse/UiaBridge.java +++ b/src/org/synthuse/UiaBridge.java @@ -103,6 +103,7 @@ public class UiaBridge { public native void initialize(String properties); public native void shutdown(); + public native void useCachedRequests(boolean cacheRequestsFlg); public native int addEnumFilter(String propertyName, String propertyValue); public native void clearEnumFilters(); public native String[] enumWindowInfo(String properties); @@ -169,10 +170,12 @@ public class UiaBridge { { String[] boundarySplt = replaceEscapedCodes(propSplt[propSplt.length - 1]).split(","); if (boundarySplt.length == 4 ) - rect.x = Integer.parseInt(boundarySplt[0]); - rect.y = Integer.parseInt(boundarySplt[1]); - rect.width = Integer.parseInt(boundarySplt[2]); - rect.height = Integer.parseInt(boundarySplt[3]); + { + rect.x = Integer.parseInt(boundarySplt[0]); + rect.y = Integer.parseInt(boundarySplt[1]); + rect.width = Integer.parseInt(boundarySplt[2]); + rect.height = Integer.parseInt(boundarySplt[3]); + } } return rect; }