读取的DisplayName等关键字后,我想知道,我想执行卸载操作,是怎么实现的? 我这只能获取到信息查看,不知道怎么去卸载,好多软件都有类似的卸载功能。 请高手帮忙。

解决方案 »

  1.   


    注册表里面DisplayName下面就有UninstallString啊,读取出来,使用ShellExecute执行它就可以了
      

  2.   

    添加一个UninstallString键值,给出执行卸载的命令行字符串。
      

  3.   

    这样啊,多谢前辈,我还以为有别的呢。 一个ShellExecute就OK啦啊? 
      

  4.   

    我刚才打开注册表看了,有的UninstallString值为空,怎么才知道它的命令行? 
      

  5.   


    UninstallString里有好几种
    1:str = "D:\VC98\Setup\1033\Setup.exe" 标准的路径可以卸载
    2:str = “D:\CommView\CV.exe /u ”这种命令行 不能卸载
    3:像卡巴 是这 str = “MsiExec.exe /I{4B9BB601-13E9-4042-A3BC-E7955BF4A98F} ”种也不能卸载
    4:还有 这种 str = “Alcrmv.exe -r -m”
     请问后门3种怎么卸载?? 
    SHELLEXECUTEINFO ShExecInfo = {0};
    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    ShExecInfo.hwnd = NULL;
    ShExecInfo.lpFile = str;
    ShExecInfo.lpParameters = "";
    ShExecInfo.lpDirectory = NULL;
    ShExecInfo.nShow = SW_SHOW;
    ShExecInfo.hInstApp = NULL;
    ShellExecuteEx(&ShExecInfo);
    WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
    多谢前辈