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多线程抓取天涯帖子内容示例
Apr 03 Python
python中__slots__用法实例
Jun 04 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
Python PyQt5标准对话框用法示例
Aug 23 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
python super的使用方法及实例详解
Sep 25 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 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
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
js使用心得分享
2015/01/13 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
Python描述器descriptor详解
2015/02/03 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
给我一面国旗 python帮你实现
2019/09/30 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
python 制作简单的音乐播放器
2020/11/25 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
驾驶员岗位职责
2014/01/29 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
保安队长职务说明书
2014/02/23 职场文书
小学生评语集锦
2014/04/18 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
少年犯观后感
2015/06/11 职场文书