From 7403c55d4defbe4fb8751988c7cbc61137a7c770 Mon Sep 17 00:00:00 2001 From: fofolee Date: Thu, 9 Apr 2020 00:33:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E8=8E=B7=E5=8F=96=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E7=AE=A1=E7=90=86=E5=99=A8=E8=B7=AF=E5=BE=84=E3=80=81?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E6=96=87=E6=9C=AC=E3=80=81=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++-------- assets/index.js | 2 +- bin/GetForegroundWindow.exe | Bin 0 -> 42733 bytes preload.js | 75 ++++++++++++++++++++++++++++++------ 4 files changed, 70 insertions(+), 29 deletions(-) create mode 100644 bin/GetForegroundWindow.exe diff --git a/README.md b/README.md index 62e0bb0..63dfd6e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 快捷命令 V1.1.0 +# 快捷命令 V1.1.1 ## 简介 @@ -11,6 +11,7 @@ - 新增`发送系统通知`的输出模式 By [imxiny](https://github.com/imxiny) - 修复 php 无法输入 *!_einl#1tCh5{+THGh zhl6WjNeSDvT)E*oZtJ+{;@f6?ntsw)TF=E2SzjVo$q|_^W2#^javp;E@RA!V|<*kV>nZC@V`_4=|T2_+rPSi zy>!DjK5@*_@QqJ+yMl3hG#2TM`MT|XUpO2|*mnf%v1HgD4BP9PJ@)QMd!T&&{2NPU z(k(8=8Z7y2*3LMaxmC%ir9IRrvJSGq;ZUEeY<3=1G$DvEWbCmCh z$2o|2wdgW+mpyFzaCuPBc;Da~_Z#ms)$-x{o%PLoMz;p9)I*elh4!JC@cyh49nq@00`Ss`M z?@=5?uZC{4#POyU5>J+e3$^Zzs5y?bKd zr8`NWfmc6Cr{2pYmBSqe){+*DTTbRZ;c+lB$;rHf>Q$e5RoWtQ6J1AaxEy*0IsLQ~&&xg#c{aFwpkAC-o1#m-oN>XGbeCIg1#(Yh<9V^kcmjuAF3NkWMb-a+y^=fSYC-=2xTJlE+L_9$=}p%3+U+p@*rL_v3i{?C z3-V^r6O2OuYwF6Cg1@{i13mkPliwS_S{v8E%Umwc=X`Yt%<0I!lEPWfd)A>YE!7FWNk5Th^)ir7VpB&MHFG@PG`%fRq$ElzXwFV{0U;S?-Z_G5@ z1ZtEs5O{Cv!_q@1P#?Gxzs8LRclR&+#rQZ}a61ZS785#!0{OVVgmS>o78OpyDf8|^ z7~}lOJVGKD7xe$)|Ba7-jtA1EcX8Pd?^f&z$S)7tyoaYCu)BJYL~tQ zl*-{tKLIxwsbetH3FtuLPNn`JcuwY#=ZHe)VQ}po$-neJe~!w{tC^aQY}ilE|19zc zc^ayyfHe?8ZK;3myUCY!OuEhO9mBrF2xW+xRVub#07}qy5DOd5#l#9MD=2?I zN~ccXu9)ub1~zYu0VpBBtpLc3cuSqh2Y&BJS?b)@6N5k^8skMr$p#~3Ta|`d>py^E zCpwjAFwsgJ8txq_DR_DKr{~BnLsr;|SK8a*nvTKoQ4Sesv8El?R1xK($+-k4qGy7e zVUObUZNqnh+0VukrTym<1>=jp$nVE2h}YzgA!_s%81Qkh>m4cHdZP0DSWfE1K&>Uc zsGkrK>sQ9!kn7`+y@mUG?z<-jiT=qv0#NXb9U_Mf9V8E3;J%|jmBV^(4w8R2Zh%lr zhRPu7N!K})#OWP6t!?@j$JY`CKOH@?1bJ$ua-HJ_TMxqN^B?q0*39A4mf2hZ%crPQZNKC3r zxaYxL2bspc)M1K`-pgx-4#AG!tt(xRqXow%aJcL3H=&v1yW2{OaoBN`LAyf0>Tq5( zfa?@m#?i4k-#thFdPmlX_yj-e5h8f$%lVAa_+t$~j&$L`1LI$_NthZ1AW`aV5EUI zLHg6y{?i40C*a~spTd2?D?Ow^!7HO3Dc4A96s;`=TD^~su!8lYsVjHAdEj3u-|{{w z_~#h-6uja((~+8^TD#!!Cy7=O(Rz7K!ONqmZyh)d8smM#1?#_+y7H;E5m7iwgSKpw? zD9v@?f5JWuvXn7CdJINEL{Y)xR?%O*hL~exudclf43dAWBSn&C9v7q%cY(~~AVWY% z_X^=rK}C}-z#ALl;}I=~Q*cnu=XCg7#Jd4SJoN2?JQ?@<@SYD>)Nm^Gy9A_2D~Hn${rt4t z9;(E+nTm)D8R)IVN76Z~&n0ght54fjzn!qBj;Cv=Gz~X3?m(5PrPte1570a=^D_LF zjWqT)N+01WjE;Rr7VvMNKaI~wJ}AsX?oohZB^Vhc=gamJq0fgeTx=Em`#|M4D46_5 zZY9WP9b1?>m)^uBSprG=&nJI$GLJY@I+;gK;a7?prNW(KUzGa`;kCp^1SY4(u(SXThWZGXk1# zrV$Sv2Uaz1k@Ls?&bS`6!GkeUej4ML+}1S(uf*mQyi&8M|LQ`B7zmFhq+@1B0S{?OBAIf>(CV8Q7Ln-2cPmg0Yk6@87WWo+w-W zZ}B@3**2=2n9ozi$?OIrIOKao{ChHa;E$A4Ufr6y!l&D?mj~-Amu;FXb9+Z@G|>`r zyoQDua*V-Bg@`GVV=4WiRy6Z}kV)7l_{2;$8|Z1otQw_+p!9ECqk>nSnL|{-2i8&X zJuq{AB9CO1`QI-}{ZQE9pw12hUQ2PoEABa1Yx!p7@YR}6+7olpYAosE&AcSrp<2+p#O;ti+5_YDUrl^R z9&(XcG9H2Q#(_7ugMN~nH}+M;AKByhB8*b|PbcT5YiRIT(trN3O!|?0@YwqBfs-8l znk35yVCA@A&BwtHwydR}2L>8S^J7H^F41-G4G039dB&cxyIu!i(`F3Y#}{W%Dd~Js zK3|Z}@5twK^7*WM9+l5$enLL? z$mjk1jMiXq=qwr}s;Ij8#pm)kkn4~35i^WT+rRO3sFosF`VW3IK8}?Vkx)^`58vsa zCXI$H_yz03bUhZJbmanP#6Ut($DdT4)$`=8$eq2P{A|IVeA zE6UqLAtpVrTWSq-2IGl9tTyC}#{+Swu(+KuS~GIAIM{HpgSCZsg(G{y_CPEai6LL= z_9eP-Q+C(A_Qi4frFU_>Y;orj`{K^K?Dn!)AhFvQT8kS5n={s#><)wz_V!4(515>W zy{xXe(dllwOUsT2!=1^HFBVMfvzK|?>yXEqcL!n}p~xP4%opwqC`Fq$xLWHQnm69X zyj}RIIS@~V5_bFyorpy2@orxzge(3dbRddMunx4_%i5ailv0d&BMD!~9*V@{_DF|4 z9_$PUJA(N2+8?l&c^jHN9`J7Q#S+0uv07v-#-a`f`#l^l;y8oD>U6L&9F5Rt&(b~B zRrF(cBG?_Ucld&#WGry+jm+8J4$0#7#Zh~gFK!P~)2*wgg zU+BSPAhwSegbp2%n0;}(eaF5;Aa3_1>^_wWMV(rvB^F75j#6q*FwtfA<41UV#oonx z2~Y86G#*H{M_|BE#P1`%^h16k;*W&vuzQ>Ui`&boy_l-Zj$i^7d?cXYuB)xR*IpK^ zURAv`8i@z@E{*RD?OYlQ?5UUsYZOUK5sI zV&9<@jVEHhJv$IZ`=WtZsN5gv*3(#BzWhIu#xJYKhvk2{IQYG;|Uzk;W&!pO&s6BaTUh`Kk#wX<7mRM14k6c6F8p3LFvmlzl!4wj&nFN zINryx0Atf)9CzZVz;Q2*dK^tSHsIKfV<(Onj{P|La6F0QX&i@f{3(u?aJ+`&6ppuW zyn};MMn3;0>U5UX1ww&DpcW%+jCDgEd93*(=E4X$mJMbjmUV$dZ88?a02)I|KgO%< zZ_O}wJ3Fm|db?r)Ups&-HwWb#eDQ=!Od5*lzA@6C3;h`2l;#^Xu^ z@gy+zPDb6~j);?ehC}vYg3|59DB2mX4~7DC#lAo}-k^V1Z3H81teWSz!_dta!e}&G zojY?I0>0fQF#CKiA7Zy)o)L+4(+q$U3&dEb)e}gxg}b<{?XJE4K$OPF;0|lCgw+!Y z1fuM5t2Yqq4u*Y+fMO(;vU)>th_=BON(R`|)=7!5m#y+RA7yFG&e&HJ2p5a7dzd6) zo)!rQ_68H|UfgvC5;TwU#X95cKHLYPb0EAMk1k45$R7#s<`Bk$xQ_=Ck}n#S5*RBp zhS?rLl5t2Z=5MGWO!E1=+e2aY6t24Cof2n+r`jaHxVqUQb@OcMYsV1ZLEUkI%`KX77QmkSd+CQ769$d z){Z?0Ok5qb(iD!cpR#rby8Y38j6GwO(b2H`v~LWC+ar6Zl5d~=~0;_BA)*W{)&8E)`yqB0T%dc=pg&wLh6wJ-^5W~zD)l=9`i5j^!t}q zm19Y58DBK^FT?PnBiOktxMEfHGXK8LJ;89fhi$ocTX%e4yt-;zB%0Vp>vZkg`0`)X z>g9$dz=X8Bs$#i}q0$z(SSMYIVN~ay70b5?W^7$ko89TLFE3xdl39Abk7o$1jDiy# zJ928VUNso)Cj%$_?&aRV|TYFk);EV(tL1xh;?5As*`{rtQEV@!2moy1hjuFe#(%|+IB@fHha+I?54bF9(jmPV3XkbTCkiisfwX)EL!O z%r-TKrC}M!tsO ztgUTpY-@0OT~c$KcU`l)X`SS3g&gxWoR-$+hURr`E~(8!*)W-lEzq)EEpAhGftF47 zYH&GGrceX6w0YJ`joj93p#~=U4RASf*-aX_uDPv70pF~F73}5~wn&32$bc4U&=zN% zXqu-nrgl7<|cNFF}Ky_ZEJ1vu#afq`sTJ)>47#lyTRS)_OfCv3-0o6bhbj) zR#&|XkwTWKaW%Q>-L;5mcB_WkP}?Gh(ML5PoL2`+*1799vyW+DGM2lkw$4?{N;D`u z>{{n)mFntI!o?lnVYg}d%`INZxvq_UTmv~bG`s7_?oxeotK_V!Yh|}HayH=CJ{Re} z0j&bZfeo7_C5k+(RKq88c%19&*{b?TZ6hbd8JhqD^}ej)iyVwL1^-N*r&AY4X#>mbE|ucOA?{SmS}nF5D}=B zykU|&qzx)d118C8B`088lVX*IW`qUY>25>}l~0D{0YB7N8Eu&nt;JdUY1mixg1gDn zq+(VWF}<5xTn#Rd2W|j84_?kSNJX+#NHv?KmQBsAY`K<6;n)hH(cqF7J=C_q2yDd^ zDD|z)jU1_JLL?X#zw>%fEj?_dh9O#YL%5+S6UcBvwT4NNA{-&M*(24XV?j6M1Oft& zt<@0Pn$R3KP}OO0HL?4(49|LZy|l$IDwd_a=5+2iLV;(#BS|*Tqiga(UHmtdusmof0BvM3>dn?1hP2obFa9 zT6Ffex-6xyrqO`tb>GnE%91|FD=s@ZLDqV==>JdY@?^!xj_kA!E&{8eS?`h%J z#nPtQ_3LWb*R!C|tb(1<0ZAVbcGT3cZ|Jf_Qz^$J8g$D4J5zqWvjN;N`r&P9O{1HA zQ->puFVM%-xp}7rPf_bLs>2Z$;i1C5rGqQJeNZ;bTe>`F-2-j#tOzCc_qv=0c%0sB z7lS$)Uh4*Rqn5ceFsD|+*@|%wHT}l>7P6Z>f|F4=XjKiyl4`k46!T)3#*u0~8=Wok zsEh-+6nQilmWROdxKxZ@Cm6!oa`9+DG!)otm&dDxDnJ>s7ON1$NVd=_NxTfID$B9w zN?6e3&%a0#%j-yn{Zcd$W4U*K0h-UTei47?+CGQB^uEpw4VY9}*o~4zJpcv?u&Kmy z3U7E0nR&VNb{g{P^mz;AyfeuA6(q|-Ryb#&fX;IRI;Q~mbTPMxeezbuY!-|A zW)|}#Bftnw(n8X5cz;jqL{#q~P1-dwTl{yXl-v4F`Ra<+$N$`+zw#X!FR zF`Weq{0f4lit;YfPMfS_^`mn~XsJIDiN%p87DFJ|e~pCai1~A#aLRsLzSVjVwz12q zD{Fzy1-1h@&IS2Bxg85^!_EcP*Z*tS=D&iL6-+Pe*~h0jy#f zQoVd z=w9f4hmvJDlYI`W_Ng)C(M|bIKRxWM(_OLH8bF1`D8I^J0X!QW#E;T!yP~@xm+(PZ z{uY$LA!{rHl=RWkY+Iugq=hx;uQ`!5E>2|)x!rIBPw4JTh@bq8Eyn}UcW?^bB|IuY z&oZw~Wt*UBRMBDr zFH6z#>Xr9YR;%$$%-Jqr9#%@>i3|}hS5ye${0?yJIP(Zsqebu{`#g(0dM;Z_X8TZC zqfq9$LpbI{_UW32ef+=^_QB&X_yGk^AP|Tr#ixa+;v~gHJ%}PR^%n>{;Lw#ZDKeJ= z%&lQmNkt}^Uzmo>-M|wv@4@d>eqXG8W-?RTD`Ym?@Oosx7)W@6B#*p z(;hYvcD7G!XSub}d_nE5(U6KSs285TUK8k!ufvsYa@P_agf!$K93w9PL>)vH)CbPw zb?|e@7yiOiP&6*c()|xX+RkIljAB)bUk)&hA+N^a>5rdJA@L-cGt-dy>%bE- z<1>qhAARf)opmsWkl8+ItZo6$FxLxphkByD?UIj23$M8{jZ%&q$Qo42 zY@fde4uVOSuE+0vs(q-1HKuajwlvh00z6sUBIDHBr@~RboCzEXu8G45K(Gdyp+@x2;oJ@xT@~Ap{aceO^FwM5~D)FQ8g8%NK<^g zG%L+aQ?uWREN@%jYT@_E+ZI|u5SofNRq^5wo(oqMW!IpEL)K!VwuN}vz~r!kLjZO= zK@?wb$P(N=Z-7+e?gDl^H8j zl6WOU-%$F%N60*J3#s@^(~Ewln|aIj;xzQiOhd0aRWEeQi7x$Ql+43E13se#A`T~u zaEhH{iafm3pW*JP0rFMcwO~M{#q&8pUNYcZ#@z)2&V0D8XQ5I`v7wNMeEPene|K_@ z%Af0rc~wG-T`6uj^Hu^w6o>_0leZF0dK-4rYY={wjw18+o31CG&8?O)`x{j(2A&fo zUI(WkGp!tnmW`;~VPJSYGSf&8PMEl!%HMt0WF|~=;&pHuGIy&oN6}IG^=9ToX_-sd z**>8>g!CXq6!!(q9Vi6=Ic$I=0l8p+q^T5sP1d6Ke*rRTfZ*$F{3iqr=i7ipu?(R> zegMc}10)aqEkkD~aLks!5B|P`#8i_K;nT7F*=a;eW*U}%OtpN6Z&yGSMZKVLIwcJ4 zVEKuk+^>>x&=mrQR%gtqM#e$M2ON6z*cj%DeGYSr5zgHvBC~0qCRrY8r*kcK{541L zLoyEao4J-%CLCqO{wdXl+V8+X=1I}(jH;KCqn&3{FY*_8N%-pr5S@b8n8;t`CE+jn zRn45pK6ZeGeQ3sF^cR&NpOPnqPoE=@De;yTL=dj9VT~zYvEe3|UqAAcUn1n~?aXXw z)>~<5r&D)As>~Dg4)U6(>Qkn8&<_15j&jvCJ(U*|dtj8_GYYHWKjH9QF-livU|IvD zYEd?%`W>hvp>i)e>XcjTRH>?rj?HSQ%7_cJE$*G$}>HgV6N z5%;4e?x#%L-!pN4(!_nyjJUsO;yz;He#OMS&&0iCM%-U8aUV8uzii^Z-^9IiM%72l;=W`?+z*?$)2C03+%KBA?=*3*ni2PBP268Halc^VzTL!q&5XD| zW8!|)#Qhx;_YJee{g8?Kize>pOx&AH-0NnfJ3VQD|5}W#e8I&1tciR5EOCFr#Qk{_ z_fZq~drjOMW~BQ;6ZgX=?q^KgD`ts%pNadkChn(9-0w7T_s&T79uxOxOx#CI+>1@z zx6O$AeiQdYCho%~?h9s#`(6|GK@;~^P2AtdqyPn}rpRO3_8IA(FmZpv#Qm6wJ3Sp? zqCh)m1J zfF;Uubo?=mJSTWUz&z7LMVlbe?D)m0W}32n=)_MdX<3|X*`jg6}@PMmo%CXN6c!M(+UHO3mm#a0bP=3zEzsc%3N3{ zv#fjH6uK+z#;;JXs$#{e6Fg<1XmR<2aqgkW6ZWC?6Jt_VMSgz@-4(x=D7={B_bV#o z*I=LJ6h9y2cTHx+Vmg^+zaO4L_g{lvRd&UyQ~3S855~FY;xzpJl8e}(m8IYsaX`CXG)@w-lD+3&ATq5H4H@6W4xncHwhi@l2FCy$MLysF>llc@|z zsqaxVlcJr++fT~V@`14W9BCnb_p3ljm`H9>Zv#Yl**+HR_{PK4&aQay%kv=CeBLKdtSDQ(i5&N%epJYu5Z;Ss`yJ?r#+~6S%Fl&1kya_ z6-YJpj51_W?rIOKt`e*LsY2(T3nuQm7E<)ERi;+7nx5{P4el)_?g^9bhfTUaH%q!V zn7Btx+@CdZe`1!nuQzcInYce=;!ZVpHY{If;@)NAe#pdq$1HJon7Fr_xDT4RH_a0F zH74%cP28U_aj%~x?yF4Px0$#fG;uGRCGJ%w?wd^9`%K&y%o6ts6L+tPdyk3xRdhor zsGGmzh9|A1olaY~#KgVD#C<>L%DhDDSN)w?;$CLr-eBUs*TntJS>j%5;=bO*Jz?U0 zbe6c=P2B5D+@mJ$&&?9|5)*faiF?Sz{fSxPUTosN#>BnL#C`89abINOzRJYC-Nc>N zNl@^Yu5pDX?o}r4+fCeCXNh~hiF<{K`!*BzHM7LsX5zlY#C?;Ad)X{;x0<+@nYepR z+zV%kI|UE^Q~b!!9_Z#@@~F}@N2|W3N+`)6ZWg}|*!et!u||y5Dbape5EN-UAhh+W z26+q+>I;awz`>?*JZU(8Ekh_@;2a0!j64evkZ%E^%%H`4B|*u@@=<~c10p{8%<|<` zK2d56naUVaK&*H+>X59LfZPm-SbMk2+!q5vNt4iNg2VthYM^rf5Tz~)%3m;*dKnO9 zL@jW>A>+_VK;FS6tx?n5M?l^ML>UbV2yGFl^pyhgDL^P`GSlAD6?hy7q+~jq06C`0 zOz-A|BtNqwU)T^AEMTJZC_xJKl%EFVuu6wYJV(8a!j*^-(}HIzo#_c#LV3@21C~kOX)7)((9PS{c==x7Y%);ZYA8kJ zLx9lyLi0sGATJn7Jp~BN!)+{l@tldyUjcH_Q0jFVN2B~rK#czS3E>zleqf0Y|gp zp93O(fg*WCJo`)$-p)!Rb#qJh`jfQVn#1Z8@QrO{h#;C=}>iwux= z0a4Z^gf$jWm4phK79RzKVnfqn6(EEr+gbi%{vv}<*8^eDAfXo!Wz;Qr?Ia>99lF{N zh_Z$zaGn9gsQZ@yQN|JiX9SRE47|<)Qm4uz$=e5%su1G!kHBeHy^Jq*@l6VpHx2~l ze+LdFEuQn`g*^>&y9rVa$bOYFm3ISj)&SW^rNBg^vlEb)3^@A$A%AK8>F)#LHQ*ct zWYhq8O)jOy&o=-ee`>t`36Qh$IDz7jT1@P|VzAH8fuoEZM6CLyNBFa%8s!`Do(HuO zq83Q_6iYj`0H~E(y;uaCK7)jd0kNYL*;v^5(}1io-~<2>zgOCUBgvaKh-U%`LMaBE z7u8bu4nl~weGpHtDL9V-$2hte0AxfhMRcA8gpy{TqbA5HK%O_0dfSBaBMvFl(Xrv( zizT3}S?r^LFy_$Vd=d}@uMV;jkP8N0wSc^6i13F1c~!-c#6}rxiNS-rfP+q!TT581 z4-k=HAAHDdq7~Oa0M2@qGGTvJE~VM$6d+y$ud{&k7)o7|OA%+mJr{976-tAY0AdG3 ziN(V;{O5y6rIfT$+QN@#{mf$=r{m5XMi-xrL_7U1VnjSUdX%~5aY<< zARx~g=sYdc(QNovCdiwBY&Vp88<30&A&b%GDB>Al#bTF$^Ms1SH3Z}xLu7sw?_L}< zK$ZhirIwO6h+!p$_-O(Tr>D*@9s)#be<*K1AZ0jfmj69NDM{YsMLfH!$owVXTv53b zoe@BcHvAWYAcyK9qJ?kGDVZ`2v!kZ_z^=w1%;vXgfClk>S_{h+fd9sze)` z5@S&0TM1#TA@8`v@Q_Aa^3#{`n1mg38u8H^eJ*_jM|Us3bnSG?uV1_Aioe)f`p6@X z5d8;g)o)pePIc2 z3UXx~mCN-Ya;^+YgkVgv2jz>HiTQ%@0D^+=+DkFehE1Rvaf{8lG_0)6q3F{@a)DaU zMtsn`d?j$@7o~C44h`A^Qd9^CKp>n2Pz-?A+DRJh&9IBiO#5g_wB3`Bb`$`3ue=!< zlmtUUA$6kx`g)@zZ=VZV7#`r8Qy{blQA!GzSKm{yvI?l3;UwB6d5bRPNh7oXiUII$ zCDD;~1@?(ZDUZ_UiYg2U#8g3$LWokzm9R5~Fe1^wmb)rSR#~}vWtWHrx+A*-=0cLU z!9(NP9oTn*>ECb0wiI!CxlWR>e;BRz1l+VYaE&h>(1bQ+0lgkuEws2~OJ?8K>}xVK zBB)<7Cbq~@c3)GhC26^0Yqc!muDt=04_GZORX70L@uo;v@vA#5Zyv`nkSm8`Ae`)$ zg5A7g;9abkFSbvj$D^*ZQOs&d<<>+*dndL%lUqp%eiqH75*3i-1M&qC+B;fTwd|1LK0(|WV=pFd1KmOAGZ@BU?X_Bq)c)g)^PxKWer16u*m~dnh zgQ-M(!Lx{5v3s?=tDTUMXDFM^fnauHGubYAkfwZ3z_+U$y@_eBasVgpRRlM+qu{rQ zS9L!^2dchj^8Nj|3G}LPQ>pDMKG{UQsIUw^eilRxm%SzCV%V0C?BLb*0n{kE(Qr+; zNg<(3xJM%|3wF^sZv$oS@Cs)l<_=={hCUGH^P{^!8xr)#xq!6QixlY~0sXtEgX#_n z$$4pc-VA>j(CA|rF=$1;@AmDC#PE@-9oXduyD&=f=HNnmdLbWclbSu`Pbg8$@VuZd zPjJ+>8PssZ%#)fFgNuZQQ^cu$pLFgXWsDR|gc9*~?B^q4V@E#?p9FK-wU7o0%IDwE z0cUMXsd-A-R#1}gF11dLDXN=Xsa0#D>P7W7mv>2ox{5?#Z`@^*LKDF3tqTb(l#B9D z?dZzW&XaN*?pVbOXF+6FM0GkeVkZu4_(7XjVC#T7S4|tXaltq7U9GL4EL<0r7X)P6 z$&+~AkRu=>aeX8}Vs$G{5*6k~uO;n3x5Wd6Tc3aUkq@T$5CHvKXPCxH8V1OCbi03Y zU$~uKqacQjEm-QK9*NtX+4Hk8sA z>9-q@`6%0@N)x$lq78vHyKs?(=QYnM`~LE(uXH86@zeJtB03W~dr126qt?Yxx5J}R zUdB+J5D6jr{ZaKJFbbZ$L<~H+itqOOLzrP;c;$;n!ay?*9+a}w=1j1^urR7_OI=B~ zL9XI1!*;x?luE4+d%7ZfQ1QV@kqe)(zIshKsGNM{d{Xy`GG wF^@zFh%O2hPo3P#+LMx6_sH#No&@mXn4s_)!#lr(()ndudFn<={-N^!1MU#za{vGU literal 0 HcmV?d00001 diff --git a/preload.js b/preload.js index 6a94d15..90838e3 100644 --- a/preload.js +++ b/preload.js @@ -4,9 +4,8 @@ const { spawn, exec } = require("child_process") const iconv = require('iconv-lite') const { clipboard } = require('electron') const robot = utools.robot -const jschardet = require("jschardet") +// const jschardet = require("jschardet") -//-------checkUpdate------ const path = require("path") const { dialog, BrowserWindow, nativeImage } = require('electron').remote const { shell } = require('electron'); @@ -80,12 +79,55 @@ paste = () => { robot.keyTap('v', ctlKey); } +// 保存剪贴板 +storeClip = () => { + var formats = clipboard.availableFormats("clipboard"); + if (formats.includes("text/plain")) { + return ['text', clipboard.readText()] + } + if (formats.includes("image/png") || formats.includes("image/jpeg")) { + return ['image', clipboard.readImage()] + } + var file; + if (isWin) { + file = clipboard.readBuffer('FileNameW').toString('ucs2').replace(/\\/g, '/'); + file = file.replace(new RegExp(String.fromCharCode(0), 'g'), ''); + } else { + file = clipboard.read('public.file-url').replace('file://', ''); + } + if (file) { + return ['file', file] + } + return [] +} + +// 恢复剪贴板 +restoreClip = historyData => { + if (historyData[0] == 'text') { + clipboard.writeText(historyData[1]); + return + } + if (historyData[0] == 'image') { + clipboard.writeImage(historyData[1]); + return + } + if (historyData[0] == 'file') { + utools.copyFile(historyData[1]) + return + } + clipboard.writeText('') +} + getSelectText = () => { + var historyData = storeClip() copy(); - return clipboard.readText() + var selectText = clipboard.readText() + restoreClip(historyData) + return selectText } getSelectFile = () => { + var historyData = storeClip() copy(); var filePath; if (isWin) { @@ -94,21 +136,32 @@ getSelectFile = () => { } else { filePath = clipboard.read('public.file-url').replace('file://', ''); } + restoreClip(historyData) return filePath; } -getAddr = () => { - robot.keyTap('d', 'alt'); - robot.setKeyboardDelay(10); - return getSelectText().replace(/\\/g, '/'); -} +// 获取前台窗口句柄 +GetForegroundWindow = callback => + exec(`"${path.join(__dirname, 'bin', 'GetForegroundWindow.exe')}"`, (error, stdout, stderr) => { + callback(stdout); + }); + + pwd = () => new Promise((reslove, reject) => { if (isWin) { - var addr = getAddr(); - if (!exists(addr)) addr = `${os.homedir().replace(/\\/g, '/')}/Desktop`; - reslove(addr); + GetForegroundWindow(hwnd => { + var cmd = `powershell.exe -NoProfile "((New-Object -COM 'Shell.Application').Windows() | Where-Object { $_.HWND -eq (${hwnd}) } | Select-Object -Expand LocationURL).replace('file:///','')"`; + exec(cmd, { encoding: "buffer" }, (err, stdout, stderr) => { + if (err) { + console.log(stderr); + reslove(`${os.homedir().replace(/\\/g, '/')}/Desktop`) + } else { + reslove(decodeURIComponent(iconv.decode(stdout, 'GBK').trim())); + } + }); + }) } else { var cmd = `osascript -l JavaScript -e ' const frontmost_app_name = Application("System Events").applicationProcesses.where({ frontmost: true }).name()[0]