您的位置:首页 > 编程语言 > C#

一段软件更新程序(使用WinRar压缩包) - C#探索者 - 博客园

2011-04-16 01:22 323 查看
http://www.cnblogs.com/mossan/category/49076.html
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Diagnostics;
namespace UpDate
{
    public partial class Form1 : Form
    {
        private WebClient update = new WebClient();
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            string URL = @"http://files.cnblogs.com/mossan/Zhongwen.rar";
            int n = URL.LastIndexOf('/');
            string fileName = URL.Substring(n + 1, URL.Length - n - 1);
            if (!(Directory.Exists(Application.StartupPath + "//update")))
            {
                Directory.CreateDirectory(Application.StartupPath + "//update");
            }
            try { update.DownloadFile(URL, Application.StartupPath + "//update//" + fileName); }
            catch (WebException ex) { MessageBox.Show(ex.Message, "Error"); }
            try
            {
                Process UnWinrar = new Process();
                UnWinrar.StartInfo.FileName = "WinRAR.exe";
                UnWinrar.StartInfo.Arguments = "e -o+ /"" + Application.StartupPath + "//update//" + fileName + "/"" + " /"" + Application.StartupPath + "//update" + "/"";
                UnWinrar.Start();
                MessageBox.Show("解压缩完成!");
                File.Copy(Application.StartupPath + "//update//" + "Zhongwen.exe", Application.StartupPath + "//Zhongwen.exe", true);
                Process ProZhongwen = new Process();
                ProZhongwen.StartInfo.FileName = Application.StartupPath + "//Zhongwen.exe";
                ProZhongwen.Start();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
            this.Close();
        }
    }
}
分类: 网络通信, C#
绿色通道:好文要顶关注我收藏该文与我联系
Mossan
关注 - 0
粉丝 - 3
关注博主
1
0
(请您对文章做出评价)
« 上一篇:拼音化汉语专用记事本 1.1(2010-11-24更新)
» 下一篇:局域网管理工具“网络管理员”1.5 正式版(2007-5-28更新)
posted on 2007-04-19 17:44 Mossan 阅读(3966) 评论(20) 编辑 收藏



评论:
1371542
#1楼 2007-04-19 18:00 | 臭石头
好东西
回复 引用 查看
#2楼 2007-04-19 18:13 | vista[未注册用户]
这个用WinRAR比较有意思。。。。 如果用户的机器上没有WinRAR咋办?
回复 引用
#3楼 2007-04-19 18:18 | watson hua
UnWinrar.StartInfo.Arguments = "e -o+ /"" + Application.StartupPath + "//update//" + fileName + "/"" + " /"" + Application.StartupPath + "//update" + "/"";
不知道那位仁兄知道常用工具的参数设置。
回复 引用 查看
#4楼 2007-04-19 18:25 | 李海洋[未注册用户]
爱任何人
回复 引用
#5楼 2007-04-19 18:30 | 李海洋[未注册用户]
我爱你
回复 引用
#6楼 2007-04-19 18:57 | 帝之晓[未注册用户]
好像在更新之前应该先判断下是不是需要更新吧
回复 引用
#7楼 2007-04-19 18:58 | iCaca
从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:
WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件...> <@列表文件...> <解压路径/>
命令 要 WinRAR 运行的字符组合代表功能
开关 切换操作指定类型,压缩强度,压缩文件类型,等等的定义。
压缩文件 要处理的压缩文件名。
文件 要处理的文件名。
列表文件 列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用//字符后添加注释。例如,你可以包含两列字符串创建 backup.lst:c:/work/doc/*.txt //备份文本文档 c:/work/image/*.bmp //备份图片c:/work/misc并接着运行: winrar a backup @backup.lst你可以在命令行中同时指定普通的文件名和列表文件名。
解压路径 只与命令 e 和 x ,搭配使用。指出解压文件添加的位置。如果文件夹不存在时,会自动创建。
注意事项
a) 如果未指定 文件 或是 列表文件 时,WinRAR 将会以缺省的 *.* 运行全部的文件;
b) 如果未指定压缩文件扩展名时,WinRAR 将会使用在 压缩配置 中选定的默认压缩文件格式。但你可以指定 .RAR 或 .ZIP 扩展名来替换它们;
c) 在命令行所输入的开关会替换相同的配置设置值;
d) 在命令 c、e、s、t、rr、k 和 x 可在压缩文件名中使用通配符。如此可以用单个的命令来进行超过一个以上的压缩文件,除此之外,如果你指定 -r 开关于这些命令时,它们将会搜索在子文件夹中的压缩文件;
e) 某些命令和开关只应用在 RAR 压缩文件,有些则在 RAR 和 ZIP 都可使用,而某些则可应用在全部的压缩文件格式。这一些都得看压缩文件格式所提供的特性而定;
f) 命令和开关的大小写是相同意思的,你可以用大写或者小写来下命令均可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: