掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3324|回复: 5

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

[复制链接]
  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 212 天

    [LV.7]常住居民III

    发表于 2016-11-4 23:11:29 | 显示全部楼层 |阅读模式
    本帖最后由 deeke 于 2017-10-7 16:43 编辑 ' `1 \; y- s& @7 R. @) Z

      w, ~; k7 U, q* r) i; B4 r) n特点:- x2 E) W/ m- c: r6 G
    1.适合配置双屏幕的电脑使用。
    0 y! z5 n% p( f1 ?3 b2.在指定软件窗口中双击取词,如 SumatraPDF、Firefox、EditPlus 等等。
    " {, Z* c* s$ z3.在任意软件窗口中选中单词或词组,然后后按右边 Ctrl 键取词。
    9 m% y2 ^; Q( E* ?; g9 I( z4.取词后还原剪切板内容、焦点回到原窗口。
    - x- D8 N) D6 J: {+ H: r$ N5.按 Pause 键暂停或继续。
    3 _/ q$ H! a/ [% l( Z& @
    6 L4 Z" r! s' P5 V" P) t- S; `参考:
    # P% W+ n* }2 P3 s" m0 qGoldenDict+Autohotkey-> 高亮即取词[Windows]1 Z0 G! O: b- X5 d
    超级实用!自制MDict取词小助手!
    $ t% p: B8 E4 Q. B
    - }' H. u# r* k3 x4 p/ S$ [/ e东拼西凑的 AutoHotkey 脚本,错漏不足之处请不吝指正。+ u. U, l5 ]1 s  j+ I+ t
    1. ~Pause::Suspend! A- l- b( [! K/ ^/ |

    2. * p7 N" s% f0 E) k( V6 D7 K
    3. ~RControl::/ J  T( {: x- K* m% |6 x
    4. LookUp()
      " j3 m8 f% a" }5 l5 H
    5. return+ S9 O2 c- G& R+ ^3 x# i
    6. 9 y9 Y, j1 n8 J6 F" D! T
    7. ~LButton Up::; w' p1 @4 W( {2 m
    8. if (A_TickCount - t) < 350
      0 I; }1 F* }; b
    9. {
      ; U/ ?% f( P( u
    10.         if(IsMySoft())
      4 H+ l5 v5 D# g: C( I3 M9 p2 \
    11.                 LookUp()4 l( P5 W; l' g$ C
    12. }
      6 L7 P7 z# I* T: S6 e
    13. t := A_TickCount- x- E4 Z4 A. B2 ^  a
    14. return
      + X3 u' l, _4 z0 M5 s: G* T

    15. 0 v; C  X9 y2 |0 y7 }3 R9 t/ [# v
    16. IsMySoft()
      ) i; T* Z; K; G) L# c8 i( q
    17. {
      % `% |$ Y, N% Q5 z, z3 _
    18.         MouseGetPos, ,,win4 l; ?, x, b% J/ o+ t5 p
    19.         SetTitleMatchMode, 27 \5 ~9 a) k! V0 r
    20.         if WinActive("SumatraPDF") = win  X6 z$ k: K7 l" T/ m! y8 R' R
    21.                 return true
      - c& g5 B1 ]( W
    22.         if WinActive("Firefox") = win, D8 y5 ?6 o' |1 E1 m
    23.                 return true
      ' l6 B: G% l* {' X1 O/ J
    24.         if WinActive("EditPlus") = win
      + i- A5 }6 O) w
    25.                 return true6 B7 d) t/ U7 U8 r
    26.         return false6 w# E2 B9 f+ Z; \1 E8 p# K  S$ v4 D
    27. }, s2 m* t0 `8 \6 Y

    28. % S* Z: D  ]/ z% ]$ k% t
    29. LookUp()
      8 R; _+ s1 b2 Z+ g) W
    30. {
      % z5 V3 K+ z3 w/ e1 E; X1 i
    31.         Sleep, 300, T) v2 d+ I( `1 j
    32.         a = %Clipboard%. `8 g% `4 t* ]  f/ ^3 A# X
    33.         Clipboard =
      $ f) z0 n. G9 j
    34.         Send ^c
      ' |! V4 o3 D' R: ?8 h
    35.         Sleep, 300
      # I. @: A6 R& M+ E' B9 C% t; [* G- E
    36.         b = %Clipboard%0 [' }1 F9 t- ?$ v$ Z: {
    37.         if StrLen(b) > 0 and StrLen(b) < 20
      7 a/ |, t+ o! i5 C$ I4 j4 |2 r& ^! Y2 D
    38.         {% T/ A' }. f$ i( F& A% C# k- f9 E$ a1 `
    39.                 WinGetActiveTitle, Title
      " T1 d5 y* F( E
    40.                 run "c:\Portable Program\GoldenDict\GoldenDict.exe" "%b%", _# C0 J9 X) Y$ w
    41.                 Sleep, 800
      8 u1 X0 ]& X8 j
    42.                 IfWinExist, %Title%
      & }4 Q: O0 z5 V5 @0 V
    43.                         WinActivate
      & Q8 E" z- z) C5 ]0 j* H* o' N
    44.         }
      / V& H3 a2 k6 Q+ s" K
    45.         Clipboard =
      # i+ X! ^' f/ ^/ I9 V
    46.         if StrLen(a) > 0( o0 t% R1 a" \. |$ k
    47.         {
      7 I9 f" X/ E2 p7 p
    48.                 Clipboard = %a%9 d8 A1 b& O1 o) ~$ f! ^
    49.         }* E$ N7 g9 T# s) F
    50.         VarSetCapacity(a, 0)9 W# F/ x$ Z5 @) s" |
    51.         VarSetCapacity(b, 0)& @6 c& X# g, S/ [; K
    52.         return; @4 [  r6 u) X0 T$ k2 S9 W
    53. }
    复制代码
    " y/ x$ U* k3 [; _/ u9 i1 U
    注意:修改成你电脑上的 GoldenDict.exe 路径。

    评分

    1

    查看全部评分

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 212 天

    [LV.7]常住居民III

     楼主| 发表于 2017-10-7 16:10:59 | 显示全部楼层
    本帖最后由 deeke 于 2017-10-7 16:46 编辑 # X8 F6 A( [( F0 I" O
    ! z. ^. q# p/ O% B8 D- I& {
    1. 删除 移动窗口 的快捷键。; y4 T- j& d9 i! ^% C
    2. 增加 按右边 Ctrl键去查询被选中的词组、短语。, a( I/ P- R0 E- \

    & ^( ]7 {$ @  d- w如果是单屏幕计算机使用,去掉代码区的 39、42、43 那三行即可。

    该用户从未签到

    发表于 2016-11-5 22:45:19 | 显示全部楼层
    想法挺棒:
    + J" ~, d8 |, A4 _6 z8 X- 可以限制使用GD的应用,并不是想在所有的应用上都使用GD" s$ n9 a& ]! b
  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 212 天

    [LV.7]常住居民III

     楼主| 发表于 2017-1-21 13:46:00 | 显示全部楼层
    本帖最后由 deeke 于 2017-2-5 11:02 编辑 ; n' P3 }$ k" @5 F. H- j
    ; ?6 f( I0 p; p& z1 x+ K
    增加三行内容
    5 L. M0 i* {5 {* \& Q, U
    1. #SingleInstance ignore
      $ {- O  V  l7 D) x- n
    2. ;此脚本的实例一次只能运行一个。
      , l# V8 p( i# s/ T8 J6 J% {6 l

    3. 5 g. r% f6 M5 z* [; ~
    4. ~Pause::Suspend
      0 Z& l4 x, D+ m' r
    5. ;按下Pause键会挂起脚本,关闭功能。
      + s" o8 K8 ]* W/ X7 c( l

    6. , p0 U$ ~) p7 x
    7. #z::Send #+{Left}) `" s" h, Z+ m& @2 a# Q
    8. ;按下 Win + z 键会把当前窗口移动到另一屏幕上,需Win7以上。
    复制代码
    - M8 }( \) G8 e
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-8 23:32 , Processed in 0.035067 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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