VBS用Sendkeys模拟按键的方法通常情况下是可以的,除非按钮没有对应快捷键。
批处理和VBS功能有限,如果是出于自动安装的目的,建议用AutoIt或按键精灵来写,自带窗口和控件识别工具,更专业些,很多问题也可以迎刃而解。
如AutoIt,基于Windows API封装,有专门针对窗体的操作函数Winxxx(),也有专门针对控件的操作函数Controlxxx()。
可以用ws.appactivate去确认窗口是否激活~ 每按下一步窗口的标题都会有变化~
set ws=createobject("wscript.shell")
if ws.appactivate("") then
ws.sendkeys "%n"
end if
模拟按键确实非常容易出现问题,我现在都不用模拟按键,使用VB API发送按键消息稳妥的多!
但VBS除了模拟按键还能干什么?当然可以通过Word调用API来sendmessage,不过太费事。所以还是算了吧。