找回密码
 加入
搜索
查看: 5630|回复: 15

QQ2009正式版自动安装脚本(lynfr8和lohibn协助完成)

[复制链接]
发表于 2009-4-18 23:05:03 | 显示全部楼层 |阅读模式
Run('QQ2009.exe')
WinWait("腾讯QQ2009 安装向导","我已阅读并同意软件许")
If Not WinActive("腾讯QQ2009 安装向导","我已阅读并同意软件许") Then WinActivate("腾讯QQ2009 安装向导","我已阅读并同意软件许")
WinWaitActive("腾讯QQ2009 安装向导","我已阅读并同意软件许")
ControlClick("腾讯QQ2009 安装向导","我已阅读并同意软件许","Button1")
Send("{ALTDOWN}n{ALTUP}")
WinWait("腾讯QQ2009 安装向导","将浏览器的首页设置为")
If Not WinActive("腾讯QQ2009 安装向导","将浏览器的首页设置为") Then WinActivate("腾讯QQ2009 安装向导","将浏览器的首页设置为")
WinWaitActive("腾讯QQ2009 安装向导","将浏览器的首页设置为")
ControlClick("腾讯QQ2009 安装向导","将浏览器的首页设置为","Button9")
ControlClick("腾讯QQ2009 安装向导","安装腾讯软件管理器","Button8")
ControlClick("腾讯QQ2009 安装向导","安装QQ工具栏","Button10")
ControlClick("腾讯QQ2009 安装向导","将安装中文搜搜","Button11")
ControlClick("腾讯QQ2009 安装向导","快速启动栏","Button7")
Send("{ALTDOWN}n{ALTUP}")
WinWait("腾讯QQ2009 安装向导","腾讯QQ2009 安装向导")
If Not WinActive("腾讯QQ2009 安装向导","腾讯QQ2009 安装向导") Then WinActivate("腾讯QQ2009 安装向导","腾讯QQ2009 安装向导")
WinWaitActive("腾讯QQ2009 安装向导","请选择安装路径")
ControlSetText("腾讯QQ2009 安装向导","请选择安装路径","Edit1","D:\Program Files\QQ")
Send("{ALTDOWN}I{ALTUP}")
WinWait("腾讯QQ2009 安装向导","开机时启动腾讯QQ2009")
If Not WinActive("腾讯QQ2009 安装向导","开机时启动腾讯QQ2009") Then WinActivate("腾讯QQ2009 安装向导","开机时启动腾讯QQ2009")
WinWaitActive("腾讯QQ2009 安装向导","开机时启动腾讯QQ2009")
ControlClick("腾讯QQ2009 安装向导","","Button6")
ControlClick("腾讯QQ2009 安装向导","","Button7")
ControlClick("腾讯QQ2009 安装向导","","Button8")
Send("{ALTDOWN}f{ALTUP}")

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +1 收起 理由
lynfr8 + 1 再接再厉!!

查看全部评分

 楼主| 发表于 2009-4-18 23:10:27 | 显示全部楼层

QQ2009正式版自动安装脚本说明

1.安装目录:D:\Program Files\QQ
2.取消把腾讯设为首页
3.取消安装腾讯软件管理器
4.取消安装中文搜搜
5.设置桌面快捷方式
6.取消快速启动栏快捷方式
7.取消安装完成后立即运行
8.取消安装完成后显示新特性
9.取消开机启动
处女作,请大家指教。
发表于 2009-4-18 23:22:03 | 显示全部楼层
Send("{ALTDOWN}n{ALTUP}")

我想问一下这句是什么意思啊?新手~~~学习学习
发表于 2009-4-19 00:04:44 | 显示全部楼层
原帖由 小新同学 于 2009-4-18 23:22 发表
Send("{ALTDOWN}n{ALTUP}")

我想问一下这句是什么意思啊?新手~~~学习学习


模拟键盘操作
-------------------------------------
自动安装脚本常用的:
send("{enter}")
send("!y")
send("!n")
send("!i")
send("{down}")
send("{SPACE}{TAB}{SPACE}{TAB}")
send("{SPACE}{TAB}")
Send("{a down}") ;按住按键 A
Send("{a up}") ;松开按键 A
Send("{F1}")

--------------------------------------
附送论坛的好文章一篇,好好研究下啦

send 的详细说明Send()
  功能向窗口发送指定的消息并立即执行相应的事件处理程序。
  语法Send( handle, messageno, word, long )
  参数handle:long类型,指定窗口的系统句柄,将向该窗口发送消息messageno:UnsignedInteger类型,指定要发送的消息号word:long类型,指定与消息一起发送的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起发送的long型参数值或字符串返回值Long。函数执行成功时返回Windows系统调用SendMessage()的返回值,发生错误时返回-1。如果任何参数的值为NULL,Send()函数返回NULL。
  用法Send()函数用于向窗口发送非PowerBuilder预定义事件的消息,这个窗口可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中,这一点与Post()函数不同,Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。Send()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,使用Handle()函数可以得到该句柄。对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。实际上,Send()函数把它的各个参数直接传送给Windows的系统调用SendMessage()。在各种C++开发工具的WINDOWS.H文件中可以查到各消息编号。如果应用程序要发送PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用TriggerEvent()函数既简单有方便。当应用程序在long参数位置指定一个字符串时,Send()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口。
  Send ( "按键" [, 标志] )
  参数:
  按键 要发送的按键序列。
  标志 [可选参数] 更改程序处理“按键”的方式:
  标志 = 0 (默认),按键序列中含有的特殊字符比如 + 和 ! 将被视为 SHIFT 和 ALT 键。
  标志 = 1,按键将按原样发送。
  返回值
  无
  注意
  AutoIt 可发送所有的 ASCII 码及扩展 ASCII 码字符(0-255),若要发送 UNICODE 编码的字符则必须使用“ASC”选项加上您要发送的字符代码(见下面的 )。
  “Send” 命令的语法跟 ScriptIt 以及 Visual Basic 的 “SendKeys” 命令类似。字符序列将按原文发送,但下列字符除外:
  '!'
  表示告知 AutoIt 要发送一个 ALT 键击动作,因此语句 Send("This is text!a") 的意思是按序发送按键 "This is text" 然后在按下"ALT+a"。
  注意,有些程序对大小写字符和 ALT 键相当挑剔,举例来说,"!A" 可能会被认为不同于 "!a";第一个代表 ALT+SHIFT+A,而第二个则代表 ALT+a。如果拿不准的话最好使用小写!
  '+'
  表示告知 AutoIt 要发送一个 SHIFT 键击动作,因此语句 Send("Hell+o") 的意思是按序发送按键 "HellO"。Send("!+a") 表示发送 "ALT+SHIFT+a"。
  '^'
  表示告知 AutoIt 要发送一个 CONTROL 键击动作,因此语句 Send("^!a") 的意思是发送按键 "CTRL+ALT+a"。
  注意,有些程序对大小写字符和 CTRL 键相当挑剔,举例来说,"^A" 可能会被认为不同于 "^a";第一个代表 CTRL+SHIFT+A,而第二个则代表 CTRL+a. 如果拿不准的话最好使用小写!
  '#'
  井号将发送一个 Windows 徽标键,因此语句 Send("#r") 将发送 Win+r,这将打开“运行”对话框。
  您可以通过设置 SendCapslockMode 从而在 Send 函数开始操作前关闭大小写切换键(大写锁,CAPS LOCK)并在完成操作后恢复。
  但是,如果在 Send 函数开始执行的时候用户就按住 Shift 键,那么发送的文本可能会是小写字符。
  一个解决办法是在每次执行其它 Send 操作前使用语句 Send("")。
  某些特殊按键必须用花括号括住才能发送:
  注意,Windows 不允许模拟 "CTRL-ALT-DEL" 组合键!
  Send 命令(无标志参数) 键击结果
  {!} !
  {#} #
  {+} +
  {^} ^
  {{} {
  {}} }
   空格
   主键盘区的 回车键
   ALT
   或 退格
   或 删除(DELETE)
   向上箭头
   向下箭头
   向左箭头
   向右箭头
   HOME
   END
   或 ESC键
   或 INS(Insert)
   PageUp
   PageDown
   - 功能键
   TAB
   Print Screen key
   左徽标键
   右徽标键
  {NUMLOCK on} NUMLOCK (on/off/toggle)(开/关/切换)
  {CAPSLOCK off} CAPSLOCK (on/off/toggle)(开/关/切换)
  {SCROLLLOCK toggle} SCROLLLOCK (on/off/toggle)(开/关/切换)
   Ctrl+Break
   PAUSE
   - 数字键盘上的 数字键
   数字键盘上的 乘号
   数字键盘上的 加号
   数字键盘上的 减号
   数字键盘上的 除号
   数字键盘上的 点号
   数字键盘上的 回车键
   Windows 应用程序键
   左 ALT 键
   右 ALT 键
   左 CTRL 键
   右 CTRL 键
   左 Shift 键
   右 Shift 键
   系统休眠(SLEEP)键
   按住 ALT 键直到发送 为止
   按住 SHIFT 键直到发送 为止
   按住 CTRL 键直到发送 为止
   按住左徽标键直到发送 为止
   按住右徽标键直到发送 为止
  {ASC nnnn} 发送 ALT+nnnn 组合键
   仅支持2000/XP:按下浏览器中的“后退”按钮
   仅支持2000/XP:按下浏览器中的“前进”按钮
   仅支持2000/XP:按下浏览器中的“刷新”按钮
   仅支持2000/XP:按下浏览器中的“停止”按钮
   仅支持2000/XP:按下浏览器中的“搜索”按钮
   仅支持2000/XP:按下浏览器中的“收藏夹”按钮
   仅支持2000/XP:运行浏览器并转到主页
   仅支持2000/XP:切换系统静音状态
   仅支持2000/XP:减小系统音量
   仅支持2000/XP:增大系统音量
   仅支持2000/XP:在播放器中选择播放下一个轨道(影音媒体)
   仅支持2000/XP:在播放器中选择播放上一个轨道
   仅支持2000/XP:使播放器停止播放
   仅支持2000/XP:使播放器播放/暂停
   仅支持2000/XP:运行邮件客户端程序
   仅支持2000/XP:运行播放器(Media player)
   仅支持2000/XP:运行用户程序1(我的电脑)
   仅支持2000/XP:运行用户程序2(计算器)
  如果要发送 ASCII 字符 A 则参考下例(相当于 ALT+065,按住ALT键并在数字键盘上顺序按下065)
  Send("{ASC 065}")
  (在使用两位数的 ASCII 码时必须在前面加一个 0,否则将使用 437号代码页)。
  如果要发送 UNICODE 字符则输入该字符代码,例如下例将发送一个中文字符
  Send("{ASC 2709}")
  可参考下例重复发送某按键:
  Send("{DEL 4}") ;连续4次按下 DEL 键
  Send("{S 30}") ;发送30个字符“S”
  Send("+{TAB 4}) ;连续4次按下 SHIFT+TAB
  如果要按住(保持按下状态)某个按键(通常用于游戏中)
  Send("{a down}") ;按住按键 A
  Send("{a up}") ;松开按键 A
  如果要改变 capslock、numlock 和 scrolllock 键的状态,可参考下例:
  Send("{NumLock on}") ;打开 NumLock
  Send("{CapsLock off}") ;关闭 CapsLock
  Send("{ScrollLock toggle}") ;切换 ScrollLock 的状态
  如果要用变量来指定重复发送的次数,参考下例:
  $n = 4
  Send("+{TAB " & $n & "}")
  如果要用变量来指定要重复发送的 ASCII 字符(比如 A),参考下例:
  $x = Chr(65)
  Send("{" & $x & " 4}")
  大多数笔记本电脑的键盘上都会有一个特殊的 Fn 键,此键无法被模拟。
  注意,若把标志参数的值设为1则“按键”参数将被原样发送。如果某些文本是从变量里拷贝而来,而您又希望完全按原样发送这些文本的话,就应该使用这一设置。
  例如,先打开 文件夹选项窗口(位于控制面板),然后请尝试执行下面这些语句:
  Send("") 切换到(焦点切换)下一个控件(按钮、复选框等)
  Send("+") 切换到上一个控件
  Send("^") 切换到下一个窗口标签
  Send("^+") 切换到上一个窗口标签
  Send("") 可用来切换复选框的选中状态或点击某个按钮
  Send("{+}") 通常用来选中某个复选框(如果它“确实是”复选框的话)
  Send("") 通常用来取消选中某个复选框
  Send("") 完全展开 SysTreeView32 控件内显示的文件夹
  组合 Alt 键使用可访问菜单项,请打开记事本窗口然后尝试执行下面这些语句:
  Send("!f") 表示发送 Alt+f,这是打开记事本的文件菜单的快捷键,您还可以试试其它的!
  Send("") 移动焦点到下一个菜单项
  Send("") 移动焦点到上一个菜单项
  Send("") 切换到左边的菜单或收缩子菜单
  Send("") 切换到右边的菜单或展开子菜单

[ 本帖最后由 lynfr8 于 2009-4-19 00:11 编辑 ]
发表于 2009-4-19 00:14:58 | 显示全部楼层
记得,当你进步了,要回来帮帮别人
 楼主| 发表于 2009-4-19 00:59:08 | 显示全部楼层
原帖由 小新同学 于 2009-4-18 23:22 发表
Send("{ALTDOWN}n{ALTUP}")

我想问一下这句是什么意思啊?新手~~~学习学习

不好意思,我也是初学者,这是模拟键盘录制的,可以简化,见你的楼下。lynfr8说的对,刚看了。再次谢谢lynfr8
发表于 2009-4-19 11:00:42 | 显示全部楼层
谢谢lynfr8和zzfbz的帮助·~~我会谨记大家的话的~~~认真学习中·~~~
发表于 2009-4-21 12:01:48 | 显示全部楼层
学习了谢谢楼主分享!
 楼主| 发表于 2009-4-21 23:06:15 | 显示全部楼层
8# 我就是我
谢谢朋友们看得起,如果能给大家带来方便,那就是在下莫大的荣幸.下面是优化了的版本
http://www.autoitx.com/forum.php?mod=viewthread&tid=6521&extra=page%3D1
发表于 2009-5-1 16:26:47 | 显示全部楼层
支持下·
     学习了····
发表于 2009-5-3 21:52:15 | 显示全部楼层
下来用用,谢谢
发表于 2009-9-1 17:21:24 | 显示全部楼层
发表于 2009-9-6 01:39:09 | 显示全部楼层
好东西!!!精神!!!
发表于 2009-9-8 16:35:23 | 显示全部楼层
新手 有点看不懂啊
发表于 2009-9-9 16:34:55 | 显示全部楼层
刚接触Autoit还很迷茫,认真学习中。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-29 00:50 , Processed in 0.090131 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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