标题: 英杰传用Autohotkey解放鼠标左右键,一键GB4 S/L,还可以考虑用来实
性别:未知-离线 elale

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 8
编号 416986
注册 2011-3-10


发表于 2011-3-11 15:52 资料 短消息 只看该作者
英杰传用Autohotkey解放鼠标左右键,一键GB4 S/L,还可以考虑用来实

waklin写了个工具可以让键盘模拟鼠标,可惜在我的机器上(win7+dosbox0.74+gb4)冲突。
自己摸索了一下,发现用Autohotkey就可以比较完美的解放鼠标左右键,还可以做的更加灵活,甚至可以考虑用来实现脚本控制站位。

先简单的介绍一下Autohotkey。这是一个实现热键鼠标命令的软件,简单的说,类似于按键精灵,但是功能强大,且开源,免费,同时其社区维护的不错。

用法很简单,下载安装AutoHotkey,运行附件中的.ahk结尾的脚本就好了。

另外,如果不想装Autohotkey软件的话,还可以用通过这个脚本直接编译成的可执行文件,附件中的exe文件就是,不过要像下面这样在命令行里面传入两个参数:

yjz.exe "C:\Program Files\DOSBox-0.74\DOSBox.exe" D:\Downloads\Game\sgzyjz\yjz.bat

贴一下这个脚本,基本上含义一目了然。其中我把鼠标左右键重定向到了鼠标中间转轮的向上和向下以及1和2键,感觉还不错,当然大家可以按照自己的偏好自行修改。

;AutoHotkey脚本, for 三国志英杰传
;by elale, 2011-03-09

;设置一下AutoHotkey的参数
SetMouseDelay, 50  
SetTitleMatchMode 1
CoordMode Mouse, Screen
SendMode event ; Recommended for new scripts due to its superior speed and reliability.


;启动英杰传,根据自己的路径做相应的修改(dosbox和英杰传启动命令路径)
;如果要用GB4,记得加入到英杰传启动的批处理命令中
Run, "C:\Program Files\DOSBox-0.74\DOSBox.exe" D:\Downloads\Game\sgzyjz\yjz.bat -noconsole

;或者传入两个参数(dosbox和英杰传启动命令路径)
;Run, %1% %2% -noconsole

;等DOSBox启动之后自动发送一个回车键以便跳过开始的密码界面
WinWait, DOSBox
Sleep, 2000
send {Enter}
;或者去掉下面这条前面的注释符号“;”实现直接全屏
;send !{Enter}

; 这两句是实现DOSBox窗口退出后自动退出AutoHotKey监控程序
WinWaitClose  
ExitApp

;让热键只对DosBox起作用
#IfWinActive DOSBox   

;下面的语句是热键命令,两个冒号(::)之前的是按键,后面的是动作

;把鼠标的左右键用转轮的向上(WheelUp)和向下(WheelDown)来取代
WheelUp:: Click
WheelDown:: Click right

;或者用键盘来实现鼠标左右键或者一些组合命令

;用键盘上的1来代替鼠标左键
1::
Click
Sleep, 150
return

;用2来代替鼠标右键
2::
Click right
Sleep, 150
return

;用3来实现鼠标相对位置移动
;鼠标在当前位置上向右移动120个像素
;向下90移动90
3::
MouseMove, 120, 90, 1, R
Sleep, 150
return

;用4来实现鼠标绝对位置移动
;但是似乎工作的不太正确,有待继续研究
4::
MouseMove, 480, 480, 10
Sleep, 150
return

;用5来实现GB4的自动存盘
5::
send {LCtrl}
send {LCtrl}
send {Enter}
Sleep, 300
send s
Sleep, 30
send t01
send {Enter} {ESC} {ESC}
Sleep, 150
return

;用6来实现GB4的自动调盘
6::
send {LCtrl}
send {LCtrl}
send {Enter}
Sleep, 300
send l
Sleep, 30
send t01
send {Enter} {ESC} {ESC}
Sleep, 150
return

;用7来实现原地休息的组合命令
7::
Click 2
Sleep, 10

MouseMove, 90, 130, 1, R
Sleep, 10
Click

MouseMove, 0, 20, 1, R
Sleep, 10
Click

MouseMove, 0, 20, 1, R
Sleep, 10
Click

MouseMove, -180, 0, 1, R
Sleep, 10
Click

MouseMove, 0, -20, 1, R
Sleep, 10
Click

MouseMove, 0, -20, 1, R
Sleep, 10
Click

MouseMove, 90, -130, 1, R
Sleep, 10
return

[ 本帖最后由 elale 于 2011-3-11 16:31 编辑 ]


附件: yjz_autohotkey.zip (2011-3-11 16:30, 346.39 K)
该附件被下载次数 362


顶部
性别:未知-离线 TommyChampion


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 13
帖子 155
编号 300735
注册 2008-11-30


发表于 2011-3-12 15:27 资料 文集 短消息 只看该作者
我想反過來,用鼠標代替鍵盤。


顶部
性别:未知-离线 elale

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 8
编号 416986
注册 2011-3-10


发表于 2011-3-14 12:02 资料 短消息 只看该作者
这个对AutoHotkey很简单,重新定义一下鼠标左右键或者转轮的上下而已。
你看一下上面那个脚本例子(有转轮的地方)就能明白了。
顶部
性别:男-离线 0ximi

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 3
编号 494156
注册 2013-11-2
来自 未来


发表于 2013-11-6 12:56 资料 短消息 只看该作者
Autohotkey小议

我要发帖:这么方便么!能DOS上用么?
顶部

正在浏览此帖的会员 - 共 2 人在线




当前时区 GMT+8, 现在时间是 2025-2-4 08:50
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.009032 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP