看流星社区

 找回密码
 注册账号
查看: 2659|回复: 2

有谁用autoit写武林辅助的啊看看这个有错吗???

[复制链接]

该用户从未签到

发表于 2011-3-22 09:52:21 | 显示全部楼层 |阅读模式
HotKeySet("{F6}","StartJ")
HotKeySet("{F7}","PausedJ")
HotKeySet("{F8}","ExitJ")
;主体脚本
$WM_KEYDOWN=0x0100
$WM_KEYUP=0x0101
$WM_CHAR=0x0102

MainLoop()
Exit
;等待事件触发
Func MainLoop()
    while 1
        sleep(100)
    WEnd
EndFunc
;开始脚本
Func StartJ()
    $Jhandle=WinGetHandle("classname=Notepad")
    sleep(1000)
    SendKey($Jhandle,Asc("10"))
    sleep(2000)
EndFunc
;暂停脚本
Func PausedJ()
    while 1
        sleep(100)
    WEnd
EndFunc
;退出脚本
Func ExitJ()
    Exit
EndFunc
Func SendKey($aHandle,$Key)     
SendKeyDown($aHandle,$Key)
Sleep(10)
SendKeyUp($aHandle,$Key)
EndFunc

Func SendKeyDown($aHandle,$Key)  
DllCall("user32.dll","int","SendMessage","hwnd",$aHandle,"int",$WM_KEYDOWN,"int",$Key,"long",1)
EndFunc

Func SendKeyUp($aHandle,$Key)  
DllCall("user32.dll", "int", "SendMessage","hwnd",$aHandle,"int",$WM_KEYUP,"int",$Key,"long",1)
EndFunc

该用户从未签到

发表于 2011-3-22 09:52:30 | 显示全部楼层
试看看au3自带的controlsend()
也可以后台按键的~ 把窗体的句柄放第一个或第三个参数都行

该用户从未签到

发表于 2011-3-22 09:52:39 | 显示全部楼层
你的思路是正确的, 但是方法不对. DllCall+PostMessage 另外注意控制键和普通按键发送方式是不同的.

可参考官方论坛
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-14 15:57

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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