经过自己一些时间的实践与反馈,又有了许多心得,因此再为这个写一篇文章。

         第一篇文章里的两个问题基本得到了解决:( [A2]更快的使用你的键盘:AutoHotkey

         第一个问题:中文乱码问题,一种方案是采用剪切板来实现,另一种是让按键对应于一种输入法的按键顺序。Autohotkey所发送的本来就是一个一个按键操作,这一点我在上一次写文章的时候并没有体会清楚。

         第二个问题:窗口最大最小的切换,最后找到了获取这个状态的函数。用WinGet, Style, Style, A得到当然窗口的状态,用语句Style & 0x1000000获得窗口是否处于最大化状态。具体见最后贴的代码。

        

         另外,我上论坛浏览了一下别人分享的代码,看到了许多写得很棒的代码。比如说,有一个可以进行自动扫雷,结果我电脑上现在的扫雷记录:高级是14...详见http://ahk.5d6d.com/viewthread.php?tid=1921&extra=page%3D4%26amp%3Borderby%3Dreplies

         最后把我自己写的代码贴出来,前面的两个include文件是从AutoHotkey论坛上找到的,因此未贴出来。另外,我是一个大四学生,因此主要是针对我自己的日常操作。 希望能对大家有所帮助。

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;AutoHotkey配置文件

;by JerryHe   Nov 29,2009

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

#include UseRBottomAttF4.ahk

#include OnekeyActiveDirofSoftware.ahk

;设置启动目录

PROGRAMDIR:="D:\MyProgramFiles"

;按住Alt,类似Vim方向操作

LAlt & j::send {down}

LAlt & k::send {up}

LAlt & h::send {left}

LAlt & l::send {right}

 

#n::run gvim

#c::run PowerCalc.exe

 

#m::

WinGet, Style, Style, A

if (Style & 0x1000000)

{

    WinRestore,A

}

else

{

    WinMaximize,A

}

return

 

 

#o:: ;切换到Lingoes

IfWinExist Lingoes

{

    WinActivate

}

else

{

    Run %PROGRAMDIR%\Lingoes

    WinWait Lingoes

    WinActivate

}

return

#p:: ;切换到Snagit

IfWinExist Snagit

{

    WinActivate

}

else

{

    Run %PROGRAMDIR%\Snagit

    WinWait Snagit

    WinActivate

}

return

 

 

;常用目录启动

#7::run %PROGRAMDIR%\startDesktop.bat

#8::run %PROGRAMDIR%\startWorkdir.bat

#9::run %PROGRAMDIR%\startCourse2009dir.bat

#0::run %PROGRAMDIR%\startThisdir.bat

 

;常用组合键

RShift & m:: ;Word里插入Mathtype字符

SetKeyDelay,50

send {alt}YY01

return

 

RShift & f:: ;Create a new folder

SetKeyDelay,50

send {alt}FWFW

return

 

RShift & d:: ;回退目录

send cd.. {Enter}

return