2

我的主应用程序是一个 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正在运行,但它对回收站没有影响。

为什么 ?

4

0 回答 0