我的主应用程序是一个win32应用程序,以管理员身份运行(启动时会提示UAC)。
我需要运行cleanmgr。
我使用createprocess
启动cleanmgr。
GetStartupInfo(stinfo);
stinfo.wShowWindow := SW_SHOWNORMAL;
CreateProcess(nil,PChar(ExpandEnvironment('%systemroot%') + '\System32\cleanmgr.exe /sagerun:3'),nil,nil, False,DETACHED_PROCESS, nil,PChar(ExpandEnvironment('%systemroot%')),stinfo,procinf);
它适用于XP 32位,但不适用于Win7 64位。
通过cleanmgr.exe /sageset:3
配置Cleanmgr以清理回收站。
如上所示使用CreateProcess
时,
回收站在XP上清空,但在Win7上没有。
我看到cleanmgr
正在运行
但它对回收站没有影响。
为什么?