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 相关文章推荐
Python中Django发送带图片和附件的邮件
Mar 31 Python
Python复数属性和方法运算操作示例
Jul 21 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
python之文件读取一行一行的方法
Jul 12 Python
python实现多人聊天室
Mar 31 Python
django模板结构优化的方法
Feb 28 Python
python模拟预测一下新型冠状病毒肺炎的数据
Feb 01 Python
python 日志 logging模块详细解析
Mar 31 Python
学习Python爬虫的几点建议
Aug 05 Python
python实现简单的tcp 文件下载
Sep 16 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 Python
python实现的人脸识别打卡系统
May 08 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
ADODB类使用
2006/11/25 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
python正则表达式中的括号匹配问题
2014/12/14 Python
python使用Image处理图片常用技巧分析
2015/06/01 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
最新pycharm安装教程
2020/11/18 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
python Zmail模块简介与使用示例
2020/12/19 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
德国PC硬件网站:CASEKING
2016/10/20 全球购物
本科生个人求职自荐信
2013/09/26 职场文书
交通事故和解协议书
2014/09/25 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
工作检讨书500字
2014/10/19 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
招商银行收入证明
2015/06/17 职场文书
公司行政管理制度范本
2015/08/05 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
nginx+lua单机上万并发的实现
2021/05/31 Servers
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python