软件卸载

本文详细介绍了软件卸载的全过程,包括判断运行状态、拷贝至临时目录、启动卸载程序及清理安装文件等步骤,同时指出了一些常见的缺陷,如无法从注册表中获取路径、无法删除注册表信息及桌面快捷方式。

1.判断要卸载的软件是否在运行

CWnd *fiturbo=FindWindow(NULL,TEXT("xxxxxxx"));//获取要卸载软件的句柄

if(fiturbo!=NULL)//判断程序是否运行
        fiturbo->PostMessageW(WM_SYSCOMMAND, SC_CLOSE,0);//关闭应用程序

2.拷贝卸载软件到临时目录

CopyFile(strSourcePath+UNINSTALL_NAME,tempFilePath+UNINSTALL_NAME, TRUE);

3.启动临时目录中的卸载软件

//UNINSTALL_NAME 需启动的软件名称

//strSourcePath 传递的参数

//tempFilePath 启动那个目录下的应用程序

ShellExecute(NULL,_T("open"),UNINSTALL_NAME,strSourcePath,tempFilePath,SW_SHOWNORMAL);

4.删除需卸载软件目录下的文件


函数:

1.获取应用程序安装目录

CHAR exeFullPath[256];

GetModuleFileNameA(NULL,exeFullPath,MAX_PATH);

CString strSourcePath=exeFullPath;

int point=strSourcePath.ReverseFind('\\');

strSourcePath=strSourcePath.Left(point+1);

2.获取临时文件目录

GetTempPathA(MAX_PATH, exeFullPath);

3.获取桌面快捷方式存放路径

SHGetSpecialFolderPathW(0,exeFullPath,CSIDL_DESKTOPDIRECTORY,0);

缺陷:

无法从注册表中获取程序的安装路径,无法删除注册表中信息。没有实现删除启动栏程序信息。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值