TA的每日心情 | 奋斗 2021-7-31 06:44 |
---|
签到天数: 5 天 [LV.2]偶尔看看I
|
本帖最后由 emptls 于 2022-8-7 16:53 编辑
; E* F- F8 W1 r. \5 R4 B! O5 g Y
我就想要个双击取词的功能,常用软件是 firefox、SumatraPDF、notepad++
$ Y6 ~* e7 T% g+ a. X1 `& v: f2 ~0 P$ E7 A
说说已经有的三种取词吧( Z0 Q8 c+ d: T( X- s8 G
1. 鼠标取词设置成双击取词,firefox、chrome 都取不准
* l5 E/ E- w: u1 J+ p6 W2. 划词,你必须要划才行,双击选中在有的软件上,不生效1 ?$ D9 c0 a$ E0 C J. V [* k
3. 剪贴板取词或两次 Ctrl + C 取词,经常让正常的复制、粘贴功能失效6 ]1 V* c8 z/ f/ l* D' S' |
看起来选择多,没一个好用的。
3 G( W. ~$ Z) A8 X' j d2 V9 ^4 d2 i7 H# n) }, O5 _( G" s9 j4 N
firefox 之前还无法取词,我把 Golden Dict 的双击取词脚本都反馈给客服了,态度倒是挺好。5 p3 Z# j# J" o" j# |
但研发没动静。AHK 脚本都能实现的功能,你们怎么就搞不了。2 P7 r/ h8 S' [" n
; C7 e3 P- U; P, H; N( O这是我一直用的取词脚本,一个商业软件,这么多年了,居然还要依赖外部的脚本才能用,让人失望。
+ V6 h$ ~ o6 e, |/ g( [) t- ; 弹出窗口还是欧路查词窗口显示结果,CtrlBreak 切换
1 q t8 |2 V3 m$ W, [ - popup := true8 N9 C. ?+ l% o& C3 B" \& ]2 E8 l
- ; suspend/ m P" W8 l4 o( E1 W0 z8 E. ~
- Pause::suspend( A. _/ A' Q& T. I' n% w3 _
- ^CtrlBreak::( j$ U" B2 r# M* P' E" X
- popup := !popup$ g) M; B3 x: ]' g8 p1 C+ W
- if (popup)
9 z* V8 Y! O. _/ Q' K" | - ToolTip, Popup mode$ o0 @' v- q- ]
- else+ L% [/ L' h) q' }, w
- ToolTip, Window mode
# S% b% U# ~' D: D - SetTimer, RemoveToolTip, -2000
# Z" ~ F1 l6 L - return, I; W- n: R3 k6 V" G% [! p3 j- u4 M
- 1 n+ |" Z7 d2 S; |
- ~LButton::
" ?. }4 A% ^/ v& }
# ~# o$ w* q3 p+ Q7 u( b+ ?- Loop {
. z8 B- A [* w, X. _4 J3 U - LButtonDown := GetKeyState("LButton","P")
# O9 p( ^% n% m% @& v - If (!LButtonDown)
; U# N0 P) X. B/ i - Break1 y" y) V+ J2 X7 V
- }
; L% Z0 Y, E; Q$ l
* }1 f. h2 S$ a& Q- WaitTime:=DllCall("GetDoubleClickTime")/400: W3 O3 @* Z+ p4 p/ z/ c( p
- KeyWait, LButton, D T%WaitTime%- u2 C- f- X: u
- If errorlevel=0
# q& V: R3 p8 }' G: c1 Z - GoSub, Routine
# L8 c0 Y, P( ^" A - Return
/ \: t0 P: f6 a( L4 q$ H" U0 D - 7 W: P9 f" b5 I& C8 [3 i
% C) l# T; v+ u# G3 c4 T- Routine:; W# i. N- c0 M( g
- {
% v+ b' e7 |+ P& c6 A' v7 H - ; 暂时关闭,只对这些软件取词
: K; d k( |/ w0 p5 u - ; if (!WinActive("ahk_class SUMATRA_PDF_FRAME") && !WinActive("ahk_class MozillaWindowClass") && !WinActive("ahk_exe msedge.exe"))
% Z" J* k p. E0 V3 M" w) _ - ; return
) z0 H q# Z0 Y - if (popup) {. Q; j& ?4 P6 N% S5 m+ a! E
- ; 设置欧路词典划词快捷键 Ctrl + F10
+ q- { Y; n i: o1 h* h - send ,^{F10}
6 o+ W# A5 S$ O5 V# Q/ b' n - return {" p) m! M3 K1 h9 K/ M0 ?3 t9 Z
- }7 Y- H# t/ Q5 ?9 N) j3 m7 G
- 7 e. L' D* J) {- D7 u
- ClipSaved := ClipboardAll
( n7 U, p# `5 A3 }: Y) b8 C1 Q7 c - 0 `8 a! {, u4 f4 G- ~7 v4 v' u
- clipboard =
/ d! M* Y2 I4 z9 f) ]' ]# c - send ,^c
+ o- F: ?) K, i - ClipWait,1
g6 m# ^: k7 z+ X - / g8 h8 V2 G. e3 u. E" Y
- cliplen := StrLen(clipboard)
2 F+ L3 i( Z! T) g* M - if (cliplen > 2 and cliplen < 20) {
& K# l+ i) m9 u6 b+ T - run D:\soft\eudic\eudic.exe -w %clipboard%1 }$ @" {' J, ~/ E& w9 ^
- }9 e) i( ^' m% G- c; {
- 4 ^2 L7 t# a# v4 h9 M! O' J
- clipboard =, j! p$ v6 F; X5 k0 ]6 b* N
- Clipboard := ClipSaved
. w O" D9 p* {. |+ m4 x - ClipWait,1
' p+ u& v3 j4 B. M j* R5 `+ I - ClipSaved =( o5 U/ }$ V" I7 \
- }* t1 _* i# c7 n: e$ J" d$ L/ p
- % F: k$ ], J P8 j3 |$ ~
- return$ v0 Q- N4 Z4 G: ~4 c
2 {( N7 r! P6 t: Z- RemoveToolTip:
1 u$ n; g/ Q' I9 n - ToolTip
* c2 i8 C+ `" U - return
复制代码 |
|