TA的每日心情 | 奋斗 2021-7-31 06:44 |
---|
签到天数: 5 天 [LV.2]偶尔看看I
|
本帖最后由 emptls 于 2022-8-7 16:53 编辑 , }" P9 M l* p/ Z% Z* ~
! l! k5 L+ S" p4 M: n# U$ G: @, }我就想要个双击取词的功能,常用软件是 firefox、SumatraPDF、notepad+++ p) N3 S+ }. M
3 q/ ^+ W, `4 s& D" A7 y
说说已经有的三种取词吧- _9 J# \5 t* J' A: @. P
1. 鼠标取词设置成双击取词,firefox、chrome 都取不准( \: [+ N( I1 J+ i1 d
2. 划词,你必须要划才行,双击选中在有的软件上,不生效! F6 J$ L2 f% E/ A% a- k' s
3. 剪贴板取词或两次 Ctrl + C 取词,经常让正常的复制、粘贴功能失效4 G- `" }# s; j( k! w/ h) l
看起来选择多,没一个好用的。( I g* B1 l4 _5 g) c/ x3 j
' _$ q/ G: x% G
firefox 之前还无法取词,我把 Golden Dict 的双击取词脚本都反馈给客服了,态度倒是挺好。. O u7 ]. b y
但研发没动静。AHK 脚本都能实现的功能,你们怎么就搞不了。: ]$ v: n, m9 Y9 ]9 ?5 q2 B
o7 e) y# N9 h- J, z( D" ^这是我一直用的取词脚本,一个商业软件,这么多年了,居然还要依赖外部的脚本才能用,让人失望。
& n5 j* N& y, |, f% X+ K. Q- ; 弹出窗口还是欧路查词窗口显示结果,CtrlBreak 切换
, Q! L7 o9 U8 {$ {/ F, F( K& j - popup := true
) {1 B! l5 W) @% { - ; suspend
3 q) n( L |# z. N- u$ v" R) C4 q& v - Pause::suspend
! E( J, S* E1 G$ Y( S - ^CtrlBreak::/ E6 g/ C) S1 w$ `
- popup := !popup
1 Q! Y1 l6 l! A) j; r3 A - if (popup)
, A2 R. Q, @) s+ t5 o2 } - ToolTip, Popup mode
& ^+ B' o. A7 T0 A' N5 ?% j; i6 ] - else L3 T! ^. s; S! Q; h' r
- ToolTip, Window mode
/ b+ X' |1 T5 o0 u J( _# b& A - SetTimer, RemoveToolTip, -20001 F: ^: n7 g! p; ]* D
- return/ e3 z: s' @2 \/ Q- p, ]% [! {
6 q6 l. C r( g- i- ~LButton::1 b/ W# N# j/ h* {, D$ r. s
& j' i ~/ y6 Q; B- E( p5 K3 R- Loop {( O, I" I- u2 A# Z" j# f, R
- LButtonDown := GetKeyState("LButton","P")
; f% z) F" B7 b - If (!LButtonDown)1 r7 y8 {* K1 C% k
- Break
/ c& t4 D' y. o1 B+ c) E$ ~- e' G - }) J. E( h3 h+ S* ~
- % O& F7 X! u* r- I4 }* k
- WaitTime:=DllCall("GetDoubleClickTime")/400! N5 Q" C' f; ?! n0 \$ k+ J8 \
- KeyWait, LButton, D T%WaitTime%
& u/ }1 U4 A# O2 X2 k - If errorlevel=0
6 P, Q* q: |2 x% e - GoSub, Routine+ |& b6 c; U! ^' z& |( c, x
- Return* @9 i, X5 P1 d2 o; z" E. b ]$ V
- * }/ z( b0 \# j/ J+ h
O2 G% t6 I$ G) K1 L- Routine:! T) q- V8 Q) _( [) _$ ]
- {
# w) Z9 |. l( p7 O - ; 暂时关闭,只对这些软件取词. Y0 h$ w: U, h0 O3 W
- ; if (!WinActive("ahk_class SUMATRA_PDF_FRAME") && !WinActive("ahk_class MozillaWindowClass") && !WinActive("ahk_exe msedge.exe"))6 w# B7 V0 _# H) K8 H* U5 ]: z W
- ; return
5 i# o% k$ q4 g4 Q# X' _ - if (popup) {
! `' o1 }% G, g3 g, b - ; 设置欧路词典划词快捷键 Ctrl + F108 U( P# ?; M& b' M) U
- send ,^{F10}' d' i2 p& z5 t$ P4 f
- return
/ |# A/ j6 A8 z4 o$ c - }- F) I v& J. A1 F+ ]8 A; F
- ' H$ a8 ~! s7 W# Q! c, U. t. U, |
- ClipSaved := ClipboardAll
, k$ t+ O ~$ R2 o& G+ J8 n6 l
" j k& \7 N# P. I$ Z; x5 I- clipboard =
+ o) a4 \# d. S/ c P, h - send ,^c
2 [% `& [# b( D4 T# `0 v - ClipWait,1: r1 V5 l" b' F( j
- + z9 ]! o2 P& g# r9 @; m2 A4 \* h0 Y
- cliplen := StrLen(clipboard)
, G, R7 j6 t( o- C - if (cliplen > 2 and cliplen < 20) {2 p* g J* M/ y
- run D:\soft\eudic\eudic.exe -w %clipboard%
" ]4 t, F! y( t T: m& {0 G - }/ s( d) z6 C% m3 l( b( R
- 0 }3 W& H9 R9 c' x9 |# ?8 z
- clipboard =
: i6 l6 ?! Z3 ?9 T- T: Z' C - Clipboard := ClipSaved& Y& X8 n) I% t7 O$ L. r
- ClipWait,1 R g2 u% b# C3 y, [; M! G
- ClipSaved = Z6 h1 Y5 N8 V X0 G% Z$ [
- }+ Y3 Q7 D: i3 S- }
- ) h( H# z) b+ O* d
- return' k2 B4 U x& {5 ?8 p x3 i( [9 ]0 |
; r# X; f( I q1 D2 H- RemoveToolTip:
, l. h1 S/ w' H0 \ - ToolTip: s- T( T. t2 X, r
- return
复制代码 |
|