掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3806|回复: 5

[插件] 适合双屏幕的双击取词 Win+AHK+GD

[复制链接]
  • TA的每日心情
    慵懒
    2025-1-28 16:22
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2016-11-4 23:11:29 | 显示全部楼层 |阅读模式
    本帖最后由 deeke 于 2017-10-7 16:43 编辑
    - A) Z2 U+ @2 Q* P. }5 W& \) D, G* q& m" S7 O: t; H
    特点:
    6 X6 h! o; w- x9 _1.适合配置双屏幕的电脑使用。
    6 |/ Z4 T* x+ L7 B  J2.在指定软件窗口中双击取词,如 SumatraPDF、Firefox、EditPlus 等等。) @; t% e5 f, j9 k; Q- b
    3.在任意软件窗口中选中单词或词组,然后后按右边 Ctrl 键取词。
    # o) s, }0 }( ~/ U" c! Z7 ~4.取词后还原剪切板内容、焦点回到原窗口。# g* ~5 m! G3 r" k2 C, }
    5.按 Pause 键暂停或继续。4 c; K, {: {% }6 J0 |. g1 f6 j5 j

    - e' S; \+ Z% w3 K9 I6 m* m参考:* [7 d" F7 X/ z2 @" s( y) h  r
    GoldenDict+Autohotkey-> 高亮即取词[Windows]
    3 H. B5 a0 v5 P7 C6 `; F8 n% E超级实用!自制MDict取词小助手!
    ; p' ^# N$ P  o) l- U7 u/ [4 S  G0 {: C* X# N6 i: L
    东拼西凑的 AutoHotkey 脚本,错漏不足之处请不吝指正。
    $ Y; a# t$ Z; H# ]
    1. ~Pause::Suspend
      8 m2 z) M' M  A/ c. F) U
    2. & g/ R( m. b: [+ ~* I
    3. ~RControl::5 A7 m' ^. d0 g; K4 R( d( {, t! {, A
    4. LookUp()2 l$ |  u8 u& `, R2 x8 q( x
    5. return; @7 b2 V6 B& m* t7 r  P

    6. * N; u  Y1 h7 R: t9 f
    7. ~LButton Up::. F" M! f  r1 \/ ~9 _7 p2 T# _1 j4 w
    8. if (A_TickCount - t) < 350
      ; y1 y$ y8 t5 k5 \  j
    9. {! C4 P# B- s3 b: S  q! z  Z; F
    10.         if(IsMySoft())7 P% S* d$ G! q: x1 i! P
    11.                 LookUp()
      , A+ ?  C. l( m  q
    12. }  j% o/ p/ ]. \2 _, ~
    13. t := A_TickCount
      ' d8 b) Z; d5 V7 u- ^; B* T3 T2 I
    14. return/ S, S6 _& R; d. v, p

    15. , {9 X7 |3 v7 ?/ V: O) u$ k) Y1 c, y
    16. IsMySoft()
      $ {$ K- ~( O2 p; t: I
    17. {7 @+ u' ~$ }  ]
    18.         MouseGetPos, ,,win1 g7 I2 |7 D) @4 q  t3 Q
    19.         SetTitleMatchMode, 2
      3 }$ ^: P" I& C6 \% s, B
    20.         if WinActive("SumatraPDF") = win
      0 x+ a# J$ T7 b" O: x
    21.                 return true
      % G1 I' ~0 Q3 S2 B$ A1 X
    22.         if WinActive("Firefox") = win' o. k& t5 y! E( U' i* Q  I
    23.                 return true
      5 L& M% S2 P8 R( W# T+ Y. a
    24.         if WinActive("EditPlus") = win
      1 |* J( ^! ^7 y+ W) S0 n; W1 M
    25.                 return true
      8 A9 c$ o; H5 E0 k' r3 Q$ x! U- X
    26.         return false- j, R% R! m7 f6 |3 h: m7 K
    27. }* j6 e8 ~3 h+ N% O1 o! l

    28. $ b; h; }$ r. J! ^. R* E1 {+ `
    29. LookUp()
      % R/ S* J4 u) v0 T9 |$ \0 g# D7 l4 b8 b
    30. {9 N* A/ n" N/ n! G& A
    31.         Sleep, 300
      & x, _, R) o8 B' K' U" z9 ]
    32.         a = %Clipboard%
      ' v5 j, ^/ i+ g4 x
    33.         Clipboard =
      ! n$ P, }9 Y" A. U& ?9 g9 J  p5 f
    34.         Send ^c% ], K7 j, i. u$ p" [# R* b
    35.         Sleep, 300
      2 S+ e6 d- ?* C$ j* G6 ?
    36.         b = %Clipboard%4 a; k9 Y) ^/ z* e2 c; o
    37.         if StrLen(b) > 0 and StrLen(b) < 20
      / G: O; X5 b6 l. o6 u2 S) J: M+ G- Q( ^
    38.         {
      6 ]0 d+ r% R6 L! W! g
    39.                 WinGetActiveTitle, Title
      ! p+ |8 Q" t+ ~( `/ Q' l
    40.                 run "c:\Portable Program\GoldenDict\GoldenDict.exe" "%b%"
      ; X! J% T8 w, n
    41.                 Sleep, 800
      % M6 ]+ d/ a3 M3 z; _. T4 @# Y8 L
    42.                 IfWinExist, %Title%4 y3 e' b8 B$ ~2 A
    43.                         WinActivate+ Y. P( N) u# b6 S, ^, j. I9 |
    44.         }
      & _; C0 f& j. S
    45.         Clipboard =4 F; R6 v! C' @* A2 j+ E: G. G! V
    46.         if StrLen(a) > 0
      ; d$ F* L1 ?* D6 u, J- j
    47.         {
      # H, l0 O# I! {2 ^" M* R
    48.                 Clipboard = %a%9 i# i/ K- u8 O9 F& o/ x9 h
    49.         }
      ' J# Z3 k$ h, W( E
    50.         VarSetCapacity(a, 0)/ V; Z: ^2 y) x7 ]2 ~
    51.         VarSetCapacity(b, 0)
      ) {. ~8 y' o- g' {" w; `
    52.         return# Y& Q9 m3 P9 c. I5 O
    53. }
    复制代码

    ! n' L3 J" n0 a7 o) r  b注意:修改成你电脑上的 GoldenDict.exe 路径。

    评分

    1

    查看全部评分

  • TA的每日心情
    慵懒
    2025-1-28 16:22
  • 签到天数: 216 天

    [LV.7]常住居民III

     楼主| 发表于 2017-10-7 16:10:59 | 显示全部楼层
    本帖最后由 deeke 于 2017-10-7 16:46 编辑
    6 J9 @' e  s' I# f* Q$ x0 L5 e9 _) c9 o3 }/ v1 s% m7 b# V
    1. 删除 移动窗口 的快捷键。- L( C) H1 C% F
    2. 增加 按右边 Ctrl键去查询被选中的词组、短语。* v; l/ ^' n+ X

    ! T: e+ O% j, @如果是单屏幕计算机使用,去掉代码区的 39、42、43 那三行即可。

    该用户从未签到

    发表于 2016-11-5 22:45:19 | 显示全部楼层
    想法挺棒:
    ' d* C! _( J, \% O- b& a, k" r- 可以限制使用GD的应用,并不是想在所有的应用上都使用GD
    . ?) P* |  R& H
  • TA的每日心情
    慵懒
    2025-1-28 16:22
  • 签到天数: 216 天

    [LV.7]常住居民III

     楼主| 发表于 2017-1-21 13:46:00 | 显示全部楼层
    本帖最后由 deeke 于 2017-2-5 11:02 编辑
    8 g* s1 G7 P- p: ?+ o+ \3 L0 j* e% N; Q4 i+ E$ g0 J
    增加三行内容7 j1 [+ k) _! z- L  R5 T
    1. #SingleInstance ignore
      6 N- P* s8 c6 D& {" K4 H$ Q
    2. ;此脚本的实例一次只能运行一个。' E/ \4 u3 T! D$ ~

    3. : h- |8 ^. ~! b. I. Q* L
    4. ~Pause::Suspend- R% m% U7 B$ ]0 |' k& n
    5. ;按下Pause键会挂起脚本,关闭功能。
      , q3 F# i. H9 h& U8 r
    6. ! q$ r# l/ S5 t# l
    7. #z::Send #+{Left}% g% m8 R  m: x# G9 `' d3 O
    8. ;按下 Win + z 键会把当前窗口移动到另一屏幕上,需Win7以上。
    复制代码
    ' L2 y) l7 l* v& F2 I) d4 j
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-7-2 06:14 , Processed in 0.023164 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表