下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教案教师班级科目开课时间地点课题名称项目十四模拟资源管理器(2)课时数6背景分析资源管理器的主要功能是列出系统中的所有逻辑驱动器、所有目录和文件。学习目标设定动态链接库kernel32.dllDirectory类及GetDirections等相关方法Path类及GetExtension等相关方法学习任务描述列出系统中的所有逻辑驱动器,显示在主窗体的树视图中,并列出硬盘中的所有目录和文件。其中的难点主要是动态链接库kernel32.dll的使用。参照真实Windows系统资源管理器界面。教学情境创设实现资源管理器的主要功能教学资源准备建议配置:2.2GHz或速度更快的CPU、1GB或更大容量的RAM、1280x1024显示器、7200RPM或更高转速的硬盘;操作系统:Windows7或以上;开发软件:VisualStudio2012中文版(含MSDN);提供真实Windows系统资源管理器画面作为参照(如图4-1所示)。教学过程实施内容方法显示Windows系统驱动器内容【任务描述】(该任务的内容和目的)列出系统中的所有逻辑驱动器,显示在主窗体的树视图中,并列出硬盘中的所有目录和文件。其中的难点主要是动态链接库kernel32.dll的使用。参照真实Windows系统资源管理器界面。【任务实施】(完成此任务所需要的主要步骤)1、需使用动态链接库kernel32.dll中的非托管代码,所以在类中添加以下代码:[DllImport("kernel32")]staticexternuintGetDriveType(stringname);//该函数用来获取磁盘的大小和可用空间[DllImport("kernel32")]staticexternboolGetDiskFreeSpaceEx(stringlpDirectoryName,reflonglpFreeBytesAvailable,reflonglpTotalNumberOfBytes,reflonglpTotalNumberOffFreeBytes);2、获取所有逻辑盘并列出硬盘中的所有目录publicvoidListDrives(){TreeNodetn=newTreeNode("所有逻辑盘");//获取系统中的所有逻辑盘string[]drives=Directory.GetLogicalDrives();//向树视图中添加节点tvDir.BeginUpdate();for(inti=0;i<drives.Length;i++){//根据驱动器的不同类型来确定所进行的操作switch(GetDriveType(drives[i])){case2: //软驱//仅向树视图中添加节点而不列举它的目录//它的图像索引以及处于选择状态下的图像索引分别为0和0tn=newTreeNode(drives[i],0,0);break;case3: //硬盘//除了向树视图中添加节点外还要列举它的目录tn=newTreeNode(drives[i],1,1);ListDirs(tn,drives[i]); //列举硬盘中的目录break;case5: //光驱//仅向树视图中添加节点tn=newTreeNode(drives[i],2,2);break;}tvDir.Nodes.Add(tn); //把创建的节点添加到树视图中}tvDir.EndUpdate();//把C盘设为当前选择节点tvDir.SelectedNode=tvDir.Nodes[0];}3、列出指定目录privatevoidListDirs(TreeNodetn,stringstrDir){string[]arrDirs;TreeNodetmpNode;try{ //获取指定目录下的所有目录arrDirs=Directory.GetDirectories(strDir);if(arrDirs.Length==0)return;//把每一个子目录添加到参数传递进来的树视图节点中for(inti=0;i<arrDirs.Length;i++){tmpNode=newTreeNode(Path.GetFileName(arrDirs[i]),3,4);//对于每一个子目录,都进行递归列举ListDirs(tmpNode,arrDirs[i]);tn.Nodes.Add(tmpNode);}}catch{return;}}运行结果如图4-7所示图4-7运行结果4.列出指定目录下的所有子目录和文件privatevoidListDirsAndFiles(stringstrDir){ListViewItemlvi;intnImgIndex;string[]items=newstring[4];string[]dirs;string[]files;try{//获取指定目录下的所有子目录dirs=Directory.GetDirectories(strDir);//获取指定目录下的所有文件files=Directory.GetFiles(strDir);}catch{return;}//把子目录和文件添加到文件列表视图中LvFiles.BeginUpdate(); //清除列表视图中的所有内容LvFiles.Clear();//加4个列表头LvFiles.Columns.AddRange(newSystem.Windows.Forms.ColumnHeader[]{chName,chSize,chType,chTime});//把子目录添加到列表视图中for(inti=0;i<dirs.Length;i++){items[0]=Path.GetFileName(dirs[i]);items[1]="";items[2]="文件夹";items[3]=Directory.GetLastWriteTime(dirs[i]).ToLongDateString()+""+Directory.GetLastWriteTime(dirs[i]).ToLongTimeString();lvi=newListViewItem(items,3);LvFiles.Items.Add(lvi);}//把文件添加到列表视图中for(inti=0;i<files.Length;i++){stringext=(Path.GetExtension(files[i])).ToLower();//根据不同的扩展名,来设定列表项的图标if(ext==".txt"){nImgIndex=5;}elseif(ext==".bmp"){nImgIndex=6;}elseif(ext==".hlp"){nImgIndex=7;}elseif(ext==".exe"){nImgIndex=8;}else{nImgIndex=9;}items[0]=Path.GetFileName(files[i]);FileInfofi=newFileInfo(files[i]);items[1]=fi.Length.ToString();items[2]=ext+"文件";items[3]=fi.LastWriteTime.ToLongDateString()+""+fi.LastWriteTime.ToLongTimeString();lvi=newListViewItem(items,nImgInd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多平台在线客服响应及处理工具
- 口腔保健的日常计划
- 金融行业服务承诺保障书(7篇)
- 设备老化紧急维护企业运营部门预案
- 少见病症研究与治疗承诺书6篇
- 改进客户服务体验承诺函(4篇)
- 产品质量检测与控制流程标准化工具
- 跨境电商平台运营策略与物流优化指南
- 合作伙伴互信共荣承诺书(3篇)
- 护理不良事件法律法规
- 碳化硅芯片介绍
- 2025年徐州市中考语文试题卷(含答案及解析)
- 奥维地图培训课件
- 昆虫记大孔雀蝶课件
- 企业资产收购尽职调查操作手册
- 犀浦科技智慧城规划方案
- 信息披露、代理成本与现金股利分配:基于公司治理视角的解析与实证
- 游戏版权购买交易合同
- 政务数据安全分类分级指南
- 春晚课件图片介绍
- 2025年4月自考00161财务报表分析一试题及答案
评论
0/150
提交评论