deeke 发表于 2016-11-4 23:11:29

适合双屏幕的双击取词 Win+AHK+GD

本帖最后由 deeke 于 2017-10-7 16:43 编辑

特点:
1.适合配置双屏幕的电脑使用。
2.在指定软件窗口中双击取词,如 SumatraPDF、Firefox、EditPlus 等等。
3.在任意软件窗口中选中单词或词组,然后后按右边 Ctrl 键取词。
4.取词后还原剪切板内容、焦点回到原窗口。
5.按 Pause 键暂停或继续。

参考:
GoldenDict+Autohotkey-> 高亮即取词
超级实用!自制MDict取词小助手!

东拼西凑的 AutoHotkey 脚本,错漏不足之处请不吝指正。
~Pause::Suspend

~RControl::
LookUp()
return

~LButton Up::
if (A_TickCount - t) < 350
{
        if(IsMySoft())
                LookUp()
}
t := A_TickCount
return

IsMySoft()
{
        MouseGetPos, ,,win
        SetTitleMatchMode, 2
        if WinActive("SumatraPDF") = win
                return true
        if WinActive("Firefox") = win
                return true
        if WinActive("EditPlus") = win
                return true
        return false
}

LookUp()
{
        Sleep, 300
        a = %Clipboard%
        Clipboard =
        Send ^c
        Sleep, 300
        b = %Clipboard%
        if StrLen(b) > 0 and StrLen(b) < 20
        {
                WinGetActiveTitle, Title
                run "c:\Portable Program\GoldenDict\GoldenDict.exe" "%b%"
                Sleep, 800
                IfWinExist, %Title%
                        WinActivate
        }
        Clipboard =
        if StrLen(a) > 0
        {
                Clipboard = %a%
        }
        VarSetCapacity(a, 0)
        VarSetCapacity(b, 0)
        return
}
注意:修改成你电脑上的 GoldenDict.exe 路径。

deeke 发表于 2017-10-7 16:10:59

本帖最后由 deeke 于 2017-10-7 16:46 编辑

1. 删除 移动窗口 的快捷键。
2. 增加 按右边 Ctrl键去查询被选中的词组、短语。

如果是单屏幕计算机使用,去掉代码区的 39、42、43 那三行即可。

lxchen2001 发表于 2016-11-5 22:45:19

想法挺棒:
- 可以限制使用GD的应用,并不是想在所有的应用上都使用GD

deeke 发表于 2017-1-21 13:46:00

本帖最后由 deeke 于 2017-2-5 11:02 编辑

增加三行内容
#SingleInstance ignore
;此脚本的实例一次只能运行一个。

~Pause::Suspend
;按下Pause键会挂起脚本,关闭功能。

#z::Send #+{Left}
;按下 Win + z 键会把当前窗口移动到另一屏幕上,需Win7以上。

xuwen2288502 发表于 2017-4-27 01:49:15

谢谢

xuwen2288502 发表于 2017-4-27 01:49:26

谢谢
页: [1]
查看完整版本: 适合双屏幕的双击取词 Win+AHK+GD