清理处理程序





5.00/5 (1投票)
一个用于删除临时文件(例如 Visual C++ 中间文件)的 Shell 扩展。
引言
Windows 引入了一个新概念,即允许用户向 Shell 添加新的处理程序,例如上下文菜单处理程序、图标处理程序以及其他应用程序的处理程序,例如清理管理器。
通常,所有处理程序都实现某个接口(一个或多个),并通过向注册表添加一些键来注册组件。
实现
此应用程序是一个简单的 COM 组件,它实现了 IEmptyVolumeCache2
接口及其 6 个方法。
// // Class CExtHandler : public IEmptyVolumeCache2 { //IUnknown interface ... //IEmptyVolumeCache interface STDMETHODIMP Initialize( HKEY hkRegKey, LPCWSTR pcwszVolume, LPWSTR *ppwszDisplayName, LPWSTR *ppwszDescription, DWORD *pdwFlags); STDMETHODIMP GetSpaceUsed( DWORDLONG *pdwlSpaceUsed, IEmptyVolumeCacheCallBack *picb); STDMETHODIMP Purge( // Called when it's time to delete. DWORDLONG dwlSpaceToFree, IEmptyVolumeCacheCallBack *picb); STDMETHODIMP ShowProperties(HWND hwnd); STDMETHODIMP Deactivate(DWORD *pdwFlags); //IEmptyVolumeCache2 interface STDMETHODIMP InitializeEx (HKEY hKey, LPCWSTR pcwszVolume, LPCWSTR pcwszKeyName, LPWSTR *ppwszDisplayName, LPWSTR *ppwszDescription, LPWSTR *ppwszBtnText, DWORD *pdwFlags);
工作原理
- 首先,您需要注册服务器(通过 regsrv32.exe,或通过 reg.bat 间接注册),然后您将看到
一个对话框,您可以在其中适当地填写字段,或者让这些字段保持默认值,如果您希望清理
助手删除 Visual C++ 的中间文件。 - 扩展注册后,可以通过启动 CLEANMGR.EXE,或在资源管理器中驱动器的“属性”对话框中单击“磁盘清理”按钮来访问它。可以通过在资源管理器中右键单击驱动器并从上下文菜单中选择“属性”,或在资源管理器中单击驱动器并选择“文件”然后“属性”来访问“属性”对话框。
- 当您不再需要它时,只需取消注册服务器并删除 DLL 文件即可。
结论
当我第一次注册我的组件并运行清理管理器 (cleanmgr.exe) 时,从而启动我的全新清理助手时,我惊讶于 Visual C++ 为其需求生成了中间文件的大小(大约 200 Mb)。
虽然此助手旨在删除 Visual C++ 生成的文件,但它也可以用于其他应用程序的临时文件或其他目的。
它仅在 Windows XP 上进行了测试,请告诉我它是否在您的机器上工作。如果您发现此应用程序有帮助,请通过 blackhorus@caramail.com 与我联系。