TA的每日心情 | 奋斗 2021-7-31 06:44 |
---|
签到天数: 5 天 [LV.2]偶尔看看I
|
本帖最后由 emptls 于 2022-8-7 16:53 编辑
, x: J: N# R" Y2 W% S K" Y. [- ^3 O, B5 c7 X" c
我就想要个双击取词的功能,常用软件是 firefox、SumatraPDF、notepad++3 w( z2 E+ t; K( d9 i
2 D# R L- E8 g% |% e* y
说说已经有的三种取词吧
5 H5 t5 I I: ~* x1. 鼠标取词设置成双击取词,firefox、chrome 都取不准2 |( g2 \4 {, c$ q9 F& S; O
2. 划词,你必须要划才行,双击选中在有的软件上,不生效
2 K% c: X, G6 s, _$ X3. 剪贴板取词或两次 Ctrl + C 取词,经常让正常的复制、粘贴功能失效
4 k' }) P( W F. V' w' p- n" R看起来选择多,没一个好用的。0 k2 T' [& Q4 x% J6 l
% z4 L( o1 l* n7 c9 G7 b3 F5 Jfirefox 之前还无法取词,我把 Golden Dict 的双击取词脚本都反馈给客服了,态度倒是挺好。
( g. u8 U" X- E ]$ N! e但研发没动静。AHK 脚本都能实现的功能,你们怎么就搞不了。$ E" W& ^7 Q+ p' j% e
, j2 H; ~1 }8 u: u- d
这是我一直用的取词脚本,一个商业软件,这么多年了,居然还要依赖外部的脚本才能用,让人失望。8 k; f# b7 C. _# l, F! Z
- ; 弹出窗口还是欧路查词窗口显示结果,CtrlBreak 切换8 E' `5 y, [% W7 b
- popup := true
0 H) c7 I1 X. Z; H& f2 j - ; suspend7 R1 y. }1 @' c) Q. p
- Pause::suspend
! k! b% f! b& X; _6 i" G1 `, ] W - ^CtrlBreak::& p* K/ S2 |1 {7 y4 l$ Y. z
- popup := !popup4 W) z F) {4 Q7 M
- if (popup)
8 a, D, ]# d9 ?! y2 K6 m8 M' S - ToolTip, Popup mode
: I! `$ D5 c& \# S - else5 C$ F7 p' s' O; ]2 j. a* M, `
- ToolTip, Window mode' D4 k7 `. T5 V: P. z# l2 @ m. O
- SetTimer, RemoveToolTip, -2000
8 ^2 x' S- p- p) M& D# f - return
, t2 T1 s, B# }1 L
6 B" S; J! M+ S- ~LButton::! D# z+ J* x4 r5 ]! r# L
, a9 u* `8 e. g! W3 A) s/ H- Loop {6 N4 z( q8 s: w! o
- LButtonDown := GetKeyState("LButton","P") ! `! M5 J" }- T) |: W
- If (!LButtonDown)
0 Y9 M: K+ C1 I l) g - Break" r1 ^+ P( {+ q! K
- }
) O: T; [2 d; E; C' k% A
5 n9 a) R+ J. ~" O1 }1 ]- WaitTime:=DllCall("GetDoubleClickTime")/4008 O" u M7 \! N4 N c
- KeyWait, LButton, D T%WaitTime%
- H m+ F8 v# u& \1 z% ? - If errorlevel=06 `. N& S* F3 [0 H9 E' `. _
- GoSub, Routine3 R s3 [8 W M1 w' Y$ u' H. p
- Return
1 {3 y" ~7 h$ m: k2 c - % W3 w& {1 y8 v' \% k
- ' N, h0 Z- h& `0 ~7 o; U, z% h
- Routine:5 ^. X0 L" P" m5 ^$ X8 H
- {+ l' O! `, X# Z3 N
- ; 暂时关闭,只对这些软件取词 |+ p) c0 A6 A4 j
- ; if (!WinActive("ahk_class SUMATRA_PDF_FRAME") && !WinActive("ahk_class MozillaWindowClass") && !WinActive("ahk_exe msedge.exe"))
: L2 d \+ p: X - ; return
- p+ m6 Z U/ n: Q$ O3 E, y* O - if (popup) {/ {# l% f- k. G
- ; 设置欧路词典划词快捷键 Ctrl + F10, F3 H' ~& N) P2 s0 n9 C. L
- send ,^{F10}/ G' Z# c* E* X" T
- return* [1 x- K' @- K' G% E3 z7 D' L/ z
- }" K* m9 [) j2 W2 V7 Q! c) \
: X; \+ W* Y1 C0 H; j; }- ClipSaved := ClipboardAll4 P: F7 m' X' R4 r
- 5 g; D, ^, Z" j
- clipboard =
( w) C& t/ F o) V5 h: } - send ,^c
4 S8 e) `7 e! g" i" U - ClipWait,1- b# U. c* c9 I2 E
; s+ f: F+ `$ }$ @# k/ w' H- cliplen := StrLen(clipboard)
1 M) k/ V+ H1 n5 T: r - if (cliplen > 2 and cliplen < 20) {
( p; N! P& _' [7 x% R w - run D:\soft\eudic\eudic.exe -w %clipboard%$ R& h) }5 K Z H. u
- }
7 q) v( N: G5 {$ N" ^, o8 t+ T
( O6 [4 L# Z: y0 ~) O- clipboard =! @( h+ B* v; ^' X( e; G: l
- Clipboard := ClipSaved
7 @# H3 ]& ^) y) l# C, I3 _ - ClipWait,1 q9 i6 [; M3 s- Z
- ClipSaved =# ?: r. U5 F: [
- }
U6 S6 S: D& B' A - + F$ K3 V0 }' c a
- return
& A. w% x8 {! }9 R( ?" F3 X
: b) D; z3 J% I2 }- RemoveToolTip:
. J, N% {% Z: P - ToolTip, G4 e6 P6 s0 J* n
- return
复制代码 |
|