报告 一个send 函数的 bug
send左右ctrl 键 按下 后send("{lctrl down}")
send("{rctrl down}")
使用:
send("{lctrl up}")
send("{rctrl up}")
发现 ctrl 键还是 按下状态。
send("{^ up}") send("{lctrl up}")与 send("{rctrl up}") 似乎都没有任何效果。
不知道 是不是 我弄错,或则有没有办法饶开? 不光这样 就连普通的 send 不涉及到 down 和up的时候 有时候也会ctrl弹不起
回复 2# sxd 的帖子
是这样的,我以前用过 autoit 自带的 鼠标消息,结果会导致 alt 键不起,呵呵。完全不明白怎么会事。
后来就改用 PostMessage 函数了。
楼上老兄 能请问以下 api函数 的 模拟按键怎么写么。
autoit 实在 模拟按键部分 用不了。
不是说 PostMessage 这个消息函数,
而是真正的模拟 按键
比如 keybd_event这样的函数
知道大概功能,但是不知道在 autoit 里怎么写这个。
我这样写:
DllCall($user32, "long", "keybd_event", "BYTE", 0x31,"BYTE",0,"DWORD",0,"DWORD",0 )
可以按下 1 键
但是 不能弹起 1键
不知道 正确的 弹起 怎么写。
看说明 倒数第二项参数 应该写这个:
DEYEVENTF_KEYUP
但我写成这样:
DllCall($user32, "long", "keybd_event", "BYTE", 0x31,"BYTE",0,"DWORD",“DEYEVENTF_KEYUP”
,"DWORD",0 )
一样没用。
请老兄知道的话,教我一下啊?
感谢先! 我记得 send 函数 参数好像没有空格吧??{CTRLDOWN} {CTRLUP}
回复 4# seominho 的帖子
呵呵。你说的那个命令和
send("{lctrl down}")
send("{rctrl down}")
是不同的两种。
{CTRLDOWN} 的意思是:
按着 ctrl down 不放,
直到 {CTRLUP} 输入为止。
你把上面我发的代码放游戏里,看看颜色就知道了。
或者看看帮助文件里面有写。 问题一样 模拟按下 就起不了啊
页:
[1]