关闭

软件卸载

标签: 应用程序
646人阅读 评论(0) 收藏 举报
分类:

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);

缺陷:

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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3787次
    • 积分:64
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档