- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9月13日上午课程改革观摩及研讨安排.doc
教案
教 师 班级 科 目 开课时间 地 点 课题名称 项目十二 模拟资源管理器(2) 课时数 6 背景分析 资源管理器的主要功能是列出系统中的所有逻辑驱动器、所有目录和文件。 学习目标
设 定 动态链接库kernel32.dll
Directory类及GetDirections等相关方法
Path类及GetExtension等相关方法
学习任务
描 述 列出系统中的所有逻辑驱动器,显示在主窗体的树视图中,并列出硬盘中的所有目录和文件。其中的难点主要是动态链接库kernel32.dll的使用。参照真实Windows系统资源管理器界面。 教学情境
创 设 实现资源管理器的主要功能 教学资源
准 备 建议配置:2.2 GHz 或速度更快的 CPU、1GB或更大容量的 RAM、1280x1024 显示器、7200 RPM 或更高转速的硬盘;
操作系统:Windows XP 、Vista或2000以上;
开发软件:Visual Studio 2005/2008 中文版(含MSDN);
提供真实Windows系统资源管理器画面作为参照(如图4-1所示)。
教 学 过 程 实 施 内 容 方法 显示Windows系统驱动器内容
【任务描述】(该任务的内容和目的)
列出系统中的所有逻辑驱动器,显示在主窗体的树视图中,并列出硬盘中的所有目录和文件。其中的难点主要是动态链接库kernel32.dll的使用。参照真实Windows系统资源管理器界面。
【任务实施】(完成此任务所需要的主要步骤)
1、需使用动态链接库kernel32.dll中的非托管代码,所以在类中添加以下代码:
[DllImport(kernel32)]
static extern uint GetDriveType(string name);
// 该函数用来获取磁盘的大小和可用空间
[DllImport(kernel32)]
static extern bool GetDiskFreeSpaceEx(string lpDirectoryName, ref long lpFreeBytesAvailable, ref long lpTotalNumberOfBytes, ref long lpTotalNumberOffFreeBytes);
2、获取所有逻辑盘并列出硬盘中的所有目录
public void ListDrives()
{
TreeNode tn = new TreeNode(所有逻辑盘);
// 获取系统中的所有逻辑盘
string[] drives = Directory.GetLogicalDrives();
// 向树视图中添加节点
tvDir.BeginUpdate();
for (int i = 0; i drives.Length; i++)
{
// 根据驱动器的不同类型来确定所进行的操作
switch (GetDriveType(drives[i]))
{
case 2: // 软驱
// 仅向树视图中添加节点而不列举它的目录
// 它的图像索引以及处于选择状态下的图像索引分别为 0和 0
tn = new TreeNode(drives[i], 0, 0);
break;
case 3: // 硬盘
// 除了向树视图中添加节点外还要列举它的目录
tn = new TreeNode(drives[i], 1, 1);
ListDirs(tn, drives[i]); // 列举硬盘
文档评论(0)