关于用vbs自动安装软件?

michael_monkey 2006-11-28 11:02:33
比如安装acdsee 6.0
strInstallPath="L:\工具软件\图片浏览\ACDSee6.0\setup.exe"
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run strInstallPath
WScript.Sleep 15000
WshShell.AppActivate "Acdsee 6.0 standard trial"
WshShell.SendKeys "%N"
WScript.Sleep 500
WshShell.SendKeys "%N"
WScript.Sleep 500
……
……

问题是sendKeys如何做到与安装界面的窗口同步

比如第一步我让它Sleep了15秒,但这只是个经验值,计算机性能不同,应该sleep的时间也不一样,如果第一步还没有完成,则第二步的sendkeys就无法起到作用,安装也无法进行下去了。
...全文
633 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangao 2006-11-28
  • 打赏
  • 举报
回复
问题你不是一步一步安装吗
第一步没完就进行第二步?
DawnPine 2006-11-28
  • 打赏
  • 举报
回复
$(
偶没钻研过

我以前下载过一个Robot 6.0的东东
能录制VBS脚本
你可以上网找一个试试
michael_monkey 2006-11-28
  • 打赏
  • 举报
回复
问题是我不是很在行:

1、不知道vbs能不能调用api
2、不知道那个函数来遍历窗口
3、不单单是遍历窗口,恐怕还是检测窗口中的控件,因为不同的步骤窗口(窗口名称和标题)一样,只是空间有所变化
DawnPine 2006-11-28
  • 打赏
  • 举报
回复
我也对软件的自动安装很感兴趣 ^_^

通常我首先考虑软件自带的无人值守安装功能,比如office、adobe reader等均可实现
但也有很多软件无法(至少我不会)无人值守安装,比如VB6
我还没有去研究怎么对付这种情况
楼主探个路先^_^
======================
关于楼主的问题
可以试试
调用API
遍历当前存在的窗口
再做相应处理

不过这好象也不是万能的

good lucky
michael_monkey 2006-11-28
  • 打赏
  • 举报
回复
不是的,你的意思是说把所有的选择用一个sendKeys发过去,让安装程序一个一个去取,好像这样不行呀,虽然说sendKeys是发送到键盘缓冲区,但是当安装程序完成一步(窗口界面变化)后,缓冲区就没有数据了,

所以还是需要,完成一步,发送一个选择才行,问题是就是这个

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧