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 相关文章推荐
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
python绘图模块matplotlib示例详解
Jul 26 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
Python random模块制作简易的四位数验证码
Feb 01 Python
如何通过python实现全排列
Feb 11 Python
python绘制趋势图的示例
Sep 17 Python
如何利用pycharm进行代码更新比较
Nov 04 Python
Python requests库参数提交的注意事项总结
Mar 29 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
Phpbean路由转发的php代码
2008/01/10 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
php数组去除空值函数分享
2015/02/02 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
JS高级笔记
2011/07/13 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
中专生毕业自我鉴定
2013/11/01 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
继承公证书
2014/04/09 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
公证委托书格式
2014/09/13 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
雷锋之歌观后感
2015/06/10 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
四年级数学教学反思
2016/02/16 职场文书