我的主应用程序是一个 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 通过配置cleanmgr.exe /sageset:3
来清理回收站。
如上图所示使用时CreateProcess
,回收站在 XP 上清空,但在 Win7 上没有。
我看到cleanmgr
正在运行,但它对回收站没有影响。
为什么 ?