TA的每日心情 | 奋斗 2021-7-31 06:44 |
|---|
签到天数: 5 天 [LV.2]偶尔看看I
|
本帖最后由 emptls 于 2022-8-7 16:53 编辑 # \+ M% b7 F% ~( y4 D9 e
5 M7 G2 a1 o8 a( K5 A我就想要个双击取词的功能,常用软件是 firefox、SumatraPDF、notepad++
1 L8 i! y4 x( ?! j. u& X& A3 l: s; H' i2 \' B- c
说说已经有的三种取词吧
1 m+ Y7 p7 E& B: G( h4 |" s+ Z1. 鼠标取词设置成双击取词,firefox、chrome 都取不准0 ~. Y B# i$ a, h4 R% M# k# m2 _6 I
2. 划词,你必须要划才行,双击选中在有的软件上,不生效
, ~3 n# Q+ l8 ~( S3. 剪贴板取词或两次 Ctrl + C 取词,经常让正常的复制、粘贴功能失效& b x$ U2 e5 g {
看起来选择多,没一个好用的。+ o! _* `& Y! t6 g8 ~
% k: ^6 [! [- v* w5 @firefox 之前还无法取词,我把 Golden Dict 的双击取词脚本都反馈给客服了,态度倒是挺好。6 u% g, k) @" N! o% Q! E' W
但研发没动静。AHK 脚本都能实现的功能,你们怎么就搞不了。) K# k; Q: L* ]; ]6 M8 o, |
p( Z2 {$ u& K: l: W& O
这是我一直用的取词脚本,一个商业软件,这么多年了,居然还要依赖外部的脚本才能用,让人失望。$ M* H: [; y* s
- ; 弹出窗口还是欧路查词窗口显示结果,CtrlBreak 切换( E( G" E+ N* T) S; c
- popup := true( Y: E$ ~* p* l. r Q7 G& ^; j
- ; suspend
; v5 O0 p% Q6 n" a - Pause::suspend
4 i k1 D6 `( ~9 i; o2 O - ^CtrlBreak::
( M* u# k; D) l- h( Z - popup := !popup
$ ?; h4 T6 n: \ - if (popup)
1 j# h: I ~" Q/ U - ToolTip, Popup mode
# o* q+ O( F4 _, P/ t- i - else
, a0 b+ X2 P( j# { - ToolTip, Window mode5 G" p$ s) I0 L/ s& l; s
- SetTimer, RemoveToolTip, -2000
/ [1 n9 @4 I/ Y) N; p - return
, M3 n! N4 Q$ \9 h - ' y! A0 E3 b; i q* `- _/ H
- ~LButton::0 ]# b, |; R4 ]
" n! F; a# l( k' V; _" k1 K3 L& J: a3 f, X- Loop {
& p( \# V: K" u) h R: B% A- v - LButtonDown := GetKeyState("LButton","P")
" a: f% U+ P0 f1 r8 S - If (!LButtonDown)
; o2 L3 m# n6 }1 F2 f4 ~+ ] - Break' `7 T3 K& Y( o
- }0 D: k# O! V# @! t, X; ~
- & k. a& A, G! L7 u9 k, T
- WaitTime:=DllCall("GetDoubleClickTime")/4008 h5 b4 E {8 Z* t2 Y) s3 L
- KeyWait, LButton, D T%WaitTime%
6 @, n$ Z& g5 U - If errorlevel=0
& Q, K) Q1 b) e! ~, a6 _ - GoSub, Routine' }9 T9 ]0 z3 i5 Z0 x" K
- Return( L. z; j0 D6 M
- 9 a" r( b( a, L/ e
- u- X1 X/ N0 P/ M- ~
- Routine:% n7 w, X. ]5 r, {3 O; |9 ~5 _* P
- {
' Q6 R9 W t( k2 V - ; 暂时关闭,只对这些软件取词
8 V! Q8 V. s0 o m* E8 z - ; if (!WinActive("ahk_class SUMATRA_PDF_FRAME") && !WinActive("ahk_class MozillaWindowClass") && !WinActive("ahk_exe msedge.exe")): `3 S+ V, ?! P$ j. a$ Y) R a
- ; return: Q$ D0 a$ [5 h0 L
- if (popup) {
m* @% c1 p1 p - ; 设置欧路词典划词快捷键 Ctrl + F10
0 S7 X1 ?. \1 R* ^# j; r - send ,^{F10}/ p+ c T) n( k" G9 }* a( o7 N3 F$ _
- return- q: s8 j& e- [, A
- }( N7 T+ J' g0 G2 S" L. {8 i# S
5 g. X3 x" M4 c# ^. q- ClipSaved := ClipboardAll
0 \% p4 t% S* f) T) [' x - # R( |+ [( i" i/ U. c# o8 y
- clipboard =0 T3 E0 ^: z, L) `
- send ,^c
5 W5 j, `) @* d/ ]: {( K: Y# n - ClipWait,1; K9 r0 n& \* d' n8 F7 A5 J
- # X Z9 {: R) ?9 s9 C
- cliplen := StrLen(clipboard)
. c0 s2 f! e' H0 O; { - if (cliplen > 2 and cliplen < 20) {* m0 }3 N) A3 P8 w* F
- run D:\soft\eudic\eudic.exe -w %clipboard%6 @7 x% b% T( {
- }! V4 w! |% k3 z
- 3 ?/ V- {. y7 W0 c; J- ~" M/ _
- clipboard =( o; _* L. Z' R! V0 P: B$ j
- Clipboard := ClipSaved+ @% J# X5 C1 d7 |1 g3 m9 S
- ClipWait,1( ] g- p7 h) s9 I# P$ u3 |
- ClipSaved =
4 w9 ^0 ^: \9 U& o2 e - }# }; u: W7 h. \& R0 f, y S0 M1 S
% I& x$ x$ \2 L& M8 a( \0 Q- return
( t- m; z; I( n* S! s4 L. {8 q* ^
" P2 I9 J R3 m! j- RemoveToolTip:
# s6 s' ]5 T+ [ - ToolTip9 J4 B( W! e( [; A$ J4 A1 U
- return
复制代码 |
|