Python 自动安装 Rising 杀毒软件


Posted in Python onApril 24, 2009

不能使用时,或重新安装系统时,方便我们重新安装最新的版本.
但是每次安装都要点击好几次 Next 按钮,同时还要提供序列号,ID 等信息,我很讨厌这种重复工作,索性写一个小的脚本,让他自动安装,这样
我就可以,在安装时休息几分钟了
脚本使用了 Python 2.3 + Com 对象,所以你的系统必须安装Python2.3或更高版本
同时必须安装 Mark Hammond's Win32all 模块
(特别感谢Mark Hammond是他开发了超级模块Win32all,同时向天才的Python 开发团队表示感谢,是他们创造了神奇的 Python 语言)
脚本的使用很简单,第一次运行时在命令行下使用 RisingInstall.py -c RisingInstall.cfg
在同目录下建立配置文件,打开它修改sn,id,path,execpath,分别填入 序列号,id号,安装路径,
以及安装程序所在的目录及安装程序名字
之后直接运行RisingInstall.Py 即可

###################################################################### 
# Create By WormChocolate 
# RisingInstall.py Version Beta 1 
# 2005/02/22 19:17 PM 
# Test Wscript.Shell Object's Install Rising-Setup in Python 
###################################################################### 
import win32com.client,time,os,sys,ConfigParser 
wsh = win32com.client.Dispatch("Wscript.Shell") 
def InstallRising(ConfigFileName="RisingInstall.cfg"): 
if os.path.exists(ConfigFileName): 
cfg = ConfigParser.ConfigParser() 
cfg.read(ConfigFileName) 
try: 
sn = cfg.get("Install","sn") 
id = cfg.get("Install","id") 
installpath = cfg.get("Install","path") 
execpath = cfg.get("Install","execpath") 
splashsec = int(cfg.get("Program","splashsec")) 
languagesec = int(cfg.get("Program","languagesec")) 
itemsec = int(cfg.get("Program","itemsec")) 
wshe = wsh.Exec(execpath) 
pid = wshe.ProcessID 
except: 
print "ConfigParser faile" 
sys.exit(1) 
if pid != "": 
wsh.AppActivate(pid) 
time.sleep(splashsec) 
wsh.SendKeys("{ENTER}") 
time.sleep(languagesec) 
wsh.SendKeys("%n") 
#time.sleep(itemsec) 
wsh.SendKeys("%a") 
#time.sleep(itemsec) 
wsh.SendKeys("%n") 
#time.sleep(itemsec) 
wsh.SendKeys(sn) 
#time.sleep(itemsec) 
wsh.SendKeys(id) 
wsh.SendKeys("%n") 
time.sleep(itemsec) 
wsh.SendKeys("%s") 
time.sleep(itemsec) 
wsh.SendKeys("%n") 
time.sleep(itemsec) 
wsh.SendKeys("%n") 
time.sleep(itemsec) 
wsh.SendKeys(installpath) 
wsh.SendKeys("%n") 
time.sleep(itemsec) 
wsh.SendKeys("%n") 
wsh.SendKeys("%n") 
else: 
print "Config File " + ConfigFileName +" Not Found" 
print "Now Auto Create This Config File Dot't Worry" 
CreateCfg(ConfigFileName) 
InstallRising() 
def CreateCfg(cfgname): 
if cfgname != "": 
print "Createing Config File : "+ cfgname + "..." 
contents = ["[Install]\n","sn=\n","id=\n","path=c:\\\\Program Files\\\\rising\\\\Rav\n","execpath = c:\\\\Rising17.06.exe\n" \ 
"\n[Program]\n","splashsec=20\n","languagesec=2\n","itemsec=1\n"] 
cfg = open(cfgname,"w+t",256) 
cfg.writelines(contents) 
cfg.close() 
print cfgname + " Create Ok..." 
#----- Main ------------- 
if len(sys.argv) == 1 : 
InstallRising() 
elif len(sys.argv) == 2: 
InstallRising(sys.argv[1]) 
elif len(sys.argv) == 3: 
if sys.argv[1]=="-c" and sys.argv[2] != "": 
CreateCfg(sys.argv[2]) 
print "Config File: " + sys.argv[2] + " Created OK..." 
else: 
print "Parm Error : \nExample : "+sys.argv[0]+" -c ConfigFileName.cfg" 
else: 
print "Script Error"
Python 相关文章推荐
在Django框架中运行Python应用全攻略
Jul 17 Python
浅析Python编写函数装饰器
Mar 18 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
python 实现兔子生兔子示例
Nov 21 Python
python opencv进行图像拼接
Mar 27 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
关于python的缩进规则的知识点详解
Jun 22 Python
Django实现内容缓存实例方法
Jun 30 Python
python安装mysql的依赖包mysql-python操作
Jan 01 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
Python实现简单的俄罗斯方块游戏
Sep 25 Python
Python 解析XML文件
Apr 15 #Python
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 #Python
python thread 并发且顺序运行示例
Apr 09 #Python
python 判断一个进程是否存在
Apr 09 #Python
python ElementTree 基本读操作示例
Apr 09 #Python
python 获取et和excel的版本号
Apr 09 #Python
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 #Python
You might like
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
python实现可逆简单的加密算法
2019/03/22 Python
django url到views参数传递的实例
2019/07/19 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
护士演讲稿范文
2014/01/05 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
挂职自我鉴定
2014/02/26 职场文书
艾滋病宣传标语
2014/06/25 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
学习十八大标语
2014/10/09 职场文书
放弃继承权公证书
2015/01/23 职场文书
教师师德表现自我评价
2015/03/05 职场文书
护理培训心得体会
2016/01/22 职场文书