WEB开发网
开发学院软件开发VC VC.NET扩展Windows磁盘清理工具的功能 阅读

VC.NET扩展Windows磁盘清理工具的功能

 2007-04-09 21:34:07 来源:WEB开发网   
核心提示:摘 要 介绍了Windows磁盘清理工具二次开发的扩展接口,对其COM接口加以分解,VC.NET扩展Windows磁盘清理工具的功能,并运用ATL库具体实现了清理“*.tmp”临时文件的功能,关键词 磁盘清理工具、ATL库、COM接口,加入了较小的更新,IEmptyVolumeCache接口由五

摘 要 介绍了Windows磁盘清理工具二次开发的扩展接口,对其COM接口加以分解,并运用ATL库具体实现了清理“*.tmp”临时文件的功能。

关键词 磁盘清理工具、ATL库、COM接口。

引言

Windows磁盘清理工具(Disk CleanUp)是一个实用快捷并拥有简单易用界面的系统清理软件,更值得系统开发管理人员注意的是,此系统清理软件是建立在以COM技术为基础发展的,支持第三方插件,并且可以根据需要自制定义功能二次开发的平台。在这里,我们对于Windows磁盘清理工具的开发接口做深入地研究,在此基础上举例示范添加一个查找“*.tmp”临时文件的功能。

技术讨论

微软的COM技术广泛地运用在Windows的模块化设计中,致使支持二次开发。关于COM技术基础与应用,可参考。在此,我们只为Windows磁盘清理工具,简称清理工具的扩展接口加以分解。清理工具首次出现在Windows 98操作系统中,并在后来推出的Windows版本中予以改进,添加了新的功能。比如说,在NTFS的文件系统下,自动压缩不经常访问的文件。这些新功能通过COM模块实现,在清理工具中作为插件调用。早期的版本是通过IEmptyVolumeCache接口调用,在Windows 2000以后的版本中,还加入了IEmptyVolumeCache2接口,加入了较小的更新。

IEmptyVolumeCache接口由五个函数组成,根据呼叫的顺序,分别是:

virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize(
/* [in] */ HKEY hkRegKey,
/* [in] */ LPCWSTR pcwszVolume,
/* [out] */ LPWSTR *ppwszDisplayName,
/* [out] */ LPWSTR *ppwszDescription,
/* [out] */ DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSpaceUsed(
/* [out] */ DWORDLONG *pdwlSpaceUsed,
/* [in] */ IEmptyVolumeCacheCallBack *picb) = 0;
virtual HRESULT STDMETHODCALLTYPE ShowProperties(
/* [in] */ HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE Purge(
/* [in] */ DWORDLONG dwlSpaceToFree,
/* [in] */ IEmptyVolumeCacheCallBack *picb) = 0;
virtual HRESULT STDMETHODCALLTYPE Deactivate(
/* [out] */ DWORD *pdwFlags) = 0;

1 2 3 4  下一页

Tags:VC NET 扩展

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接