VC程序快速删除自己(可能做升级程序的时候有用)

项目一般都会带有卸载程序,如果这个程序是自己来做的话,在调用完卸载程序后需要删除自己的所有文件,在Google了好久终于找到一些相关信息,一般只能删除一个文件,经过自己的处理,可以删除文件夹下面所有内容,也可包含子文件夹。

主要原理是,在退出程序时,执行一条Dos命令来删除,如下:

CString strParam;

strParam = "/C choice /C Y /N /D Y /T 3 & rd /s /q \"";
    strParam += “d:\\test”;
    strParam += "\"";
    ShellExecute(NULL, L"open", L"cmd.exe", strParam, NULL, SW_HIDE);

choice /C Y /N /D Y /T 3 & rd /s /q \ 这条命令,代表3秒以后执行rd命令来删除文件夹,由于在XP上面会提示choice不是内部命令,可能在不同的电脑上会不成功。(在我的电脑上面是可以的。),保险起见,使用下面代码是可以的,如下:

CString strParam;

strParam = "/C ping 1.1.1.1 -n 1 -w 3000 > Nul & rd /s /q \"";
    strParam += “d:\\test”;
    strParam += "\"";
    ShellExecute(NULL, L"open", L"cmd.exe", strParam, NULL, SW_HIDE);

http://blog.csdn.net/itjobtxq/article/details/8968745

时间: 2025-01-05 16:52:46

VC程序快速删除自己(可能做升级程序的时候有用)的相关文章

基于TCP网络通信的自动升级程序源码分析-启动升级文件下载程序

升级程序启动后,首先会连接服务器 private void Connect() { try { int port = int.Parse(System.Configuration.ConfigurationManager.AppSettings["Port"]); connnectionInfo = new ConnectionInfo(IPAddress, port); connection = TCPConnection.GetConnection(connnectionInfo)

基于TCP网络通信的自动升级程序源码分析-客户端接收文件

升级程序客户端接收文件 /// <summary> /// 文件数据缓存 索引是 ConnectionInfo对象 数据包的顺序号 值是数据 /// </summary> Dictionary<ConnectionInfo, Dictionary<long, byte[]>> incomingDataCache = new Dictionary<ConnectionInfo, Dictionary<long, byte[]>>();

基于TCP网络通信的自动升级程序源码分析-客户端请求服务器上的升级信息

每次升级,客户端都会获取服务器端存放在upgradefile文件夹下的需要升级的文件和升级信息配置文件(即upgradeconfig.xml文件) 我们来看一下代码 //升级信息配置文件相对应的类 ( 升级信息配置文件是由这个类转化成的) private UpgradeConfig upgradeConfig = null; //客户端存储升级配置文件的地址 是放在客户端根目录下的 (就是把服务器 upgradefile/upgradeconfig.xml下载到客户端存放的位置) string

SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework

9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Load事件或者Program入口的Main方法第一行代码加上如下代码: 注意:是主程序的 Load事件要加上调整自动更新程序的代码.要以模式打开窗口.如果没有差异会自动关闭升级窗口显示主窗口. 3.把下面目录里的文件拷贝到 应用程序的同级目录下: 4.配置WINFORMS应用程序目录下Updateli

Bmob 开发Android程序快速入门--小demo

注册Bmob帐号 在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”,在跳转页面填入你的姓名.邮箱.设置密码,确认后到你的邮箱激活Bmob账户,你就可以用Bmob轻松开发应用了. 网站后台创建应用 登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用. 获取应用密钥和下载SDK 选择你要开发的应用,点击该应用下方对应的“应用密钥” 在跳转页面,获取Application

web程序快速开发

关于web程序快速开发个人见解以及经历 由于在之前公司业务的发展,需要在基于核心业务的基础上开发其他较为独立的业务系统,所以就有了这个基于Dapper,DDD概念的基础框架,由于个人基于这个框架已经经历过两个系统的开发,也因为其他项目团队需要基于这个框架进行其他系统的一些开发,所以需要对此框架有一些简单介绍和使用说明. 1.主要框架主体介绍 Dapper,DapperExtensions:Dapper框架集成. Topever.AutoMapper:对象映射扩展,这个项目其实可以集成到公共项目T

如何做升级测试

升级测试是软件测试中非常重要的一环,需要考虑的方面有很多,比如用户数据是否被完整保存,升级失败如何恢复等都对测试人员制定测试策略和编写测试用例带来了一定的挑战.这里我根据最近做的项目做了一个Mindmap来简单的介绍一下做测试策略的思路,供大家参考(当然不同产品会有不同的升级测试策略,不应一概而论). 首先简单的介绍一下产品背景: 传统的业务管理系统 环境部署比较复杂(需要的虚机和第三方软件依赖比较多) 用户数据量大(DB) 用户设置比较多(权限等) 对DownTime要求比较高 以下是mind

Innodb中mysql如何快速删除2T的大表

小漫画 来,先来看小漫画陶冶一下情操OK,这里就说了.假设,你有一个表erp,如果你直接进行下面的命令这个时候所有的mysql的相关进程都会停止,直到drop结束,mysql才会恢复执行.出现这个情况的原因就是因为,在drop table的时候,innodb维护了一个全局锁,drop完毕锁就释放了. 这意味着,如果在白天,访问量非常大的时候,如果你在不做任何处理措施的情况下,执行了删大表的命令,整个mysql就挂在那了,在删表期间,QPS会严重下滑,然后产品经理就来找你喝茶了.所以才有了漫画中的

(总结)Linux下使用rsync最快速删除海量文件的方法

昨天遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用.这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现快速删除大量文件. 1.先安装rsync:yum install rsync2.建立一个空的文件夹:mkdir /tmp/test3.用rsync删除目标目录:rsync --delete-before -a -H -v --progress -