在Delphi中从32位应用程序在x64上运行cleanmgr

时间:2012-11-13 08:24:04

标签: delphi delphi-7 manifest

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

为什么?

0 个答案:

没有答案