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 相关文章推荐
使用C语言扩展Python程序的简单入门指引
Apr 14 Python
Tensorflow 查看变量的值方法
Jun 14 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
Django组件cookie与session的具体使用
Jun 05 Python
Django实现基于类的分页功能
Oct 31 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
聊聊python中的异常嵌套
Sep 01 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
Oct 23 Python
Python 中random 库的详细使用
Jun 03 Python
python Django框架快速入门教程(后台管理)
Jul 21 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
咖啡常见的种类
2021/03/03 新手入门
PHP默认安装产生系统漏洞
2006/10/09 PHP
php 正则匹配函数体
2009/08/25 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
php实现登录页面的简单实例
2019/09/29 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
python实现Decorator模式实例代码
2018/02/09 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
python Celery定时任务的示例
2018/03/13 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
什么是Python中的顺序表
2020/06/02 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
长安大学毕业生自我鉴定
2014/01/17 职场文书
致100米运动员广播稿
2014/02/14 职场文书
天猫活动策划方案
2014/08/21 职场文书
爱护公物演讲稿
2014/09/09 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
联村联户简报
2015/07/21 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis