论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>编程开发>>Visual C++>>正文

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

www.xker.com 作者: 来源:计算机与信息技术 加入日期:2006-4-10 9:56:23

【问题提问、论坛交流】摘 要 介绍了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;

  清理工具在正常执行时,首先调用Initialize初始化插件,随后执行GetSpaceUsed来扫描可清除的文件大小扫描完毕后,清理工具的主界面就出现了如图1所示,在此,我们加入了清理TMP文件的功能可以浏览不同的清理文件种类列表中的每一个文件种类均由一个COM插件实现除了阅览可清理文件大小以外,用户在可以点击一个可自定义的按钮,调用插件的ShowProperties功能,以显示更详细的资料如用户选择OK,清理工具就调用Purge函数,清理扫描出来的文件最后,Deactivate函数被调用,终止插件的应用

  运用于Windows 2000以后的清理工具的插件也应该支持IEmptyVolumeCache的接口IEmptyVolumeCache只由一个函数组成:

virtual /* [local] */ HRESULT STDMETHODCALLTYPE InitializeEx(

/* [in] */ HKEY hkRegKey,
/* [in] */ LPCWSTR pcwszVolume,
/* [in] */ LPCWSTR pcwszKeyName,
/* [out] */ LPWSTR *ppwszDisplayName,
/* [out] */ LPWSTR *ppwszDescription,
/* [out] */ LPWSTR *ppwszBtnText,
/* [out] */ DWORD *pdwFlags) = 0;

  InitializeEx增加了更严格的本地化语言要求,加强了国际化的支持,并且允许自定义按钮的显示文字pdwFlags变量用于在工具与插件间传递信息,支持下列旗标:

本新闻共3页,当前在第1页  1  2  3  

编辑:xker.com

上一篇:用 VC++和Winsock 实现与 HTTP 服务器通话
下一篇:没有了
关闭窗口】【技术交流】【收藏此页
相关文章
推荐文章 最新文章 热门文章
·使用xml http为网站增加域名查询功能
·黑客技术揭秘:三招确定WWW服务类型
·联手杀毒软件 打造无毒迅雷下载文件
·Tomcat 配置技巧精华详解分析
·玩转系统 Window系统补丁知多少
·做好备份 硬盘数据大迁移
·中用也中看 全面打造个性化迅雷下载
·WIN2000下JSP服务器的安装
·Oracl数据库中大数据的备份
·用注册表找回常用软件序列号
·搜索引擎优化的最高境界是忘记搜索引
·全面解析系统剪贴功能资源占用
·在ASP.NET中防止注入攻击
·仅用css编写无限分级弹出菜单
·完整图解Tomcat 5.0.28 安装笔记
·VC.NET扩展Windows磁盘清理工具的功能
·思科路由器7500的分布式服务
·ASP.NET教程
·用ASP.NET制作计数器
·五种常见的ASP.NET应用程序安全缺陷
·ASP.NET的安全漏洞
·“弹出广告”扰人 谁来捍卫网民利益
·用Dreamweaver制作特色分隔线
·ASP实现简单的网页保护
·使用xml http为网站增加域名查询功能
·文字,你到底能多大?---分析网页文字
·进行傻瓜式攻击 揭露工具黑客的秘密
·黑客技术揭秘:三招确定WWW服务类型
·全接触sqlserver异常与孤立事务
·用DTS导入多个文件数据到SQL Server中
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·QQ收费头像免费使用的方法 
·Norton AntiVirus 2006 注册码(激活
·系统优化 专题
·WinRAR 3.51 注册码
·豪杰超级解霸V9.1正版注册码
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·QQ空间皮肤代码
·最经典的黑客入门教材
·梦幻西游科举考试答案最新版
·求职简历封皮
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: