第八章Windows文件编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章Windows文件编程.ppt

通用对话框及其使用 打开和保存文件对话框 通用对话框 打开文件对话框函数: BOOL GetOpenFileName(LPOPENFILENAME lpofn); 保存文件对话框函数: BOOLGetSaveFileName(LPOPENFILENAME lpofn); lpofn指向OPENFILENAME结构: typedef struct tagOFN{ DWORD lStructSize; // 结构长度 … } OPENFILENAME, *LPOPENFILENAME; 注意lpstrFilter的使用: file.lpstrFilter = “Text Files(*.txt)\0*.txt\0All Files\0*.*\0\0”; //默认选第一个 file.nFilterIndex =1 通用对话框 浏览目录对话框函数: BOOL SHBrowseForFolder(LPBROWSEINFO lpbi); lpbi指向包含对话框初始数据的BROWSEINFO结构 typedef struct _browseinfo{ HWND hwndOwner, // 对话框的父窗口 … UNIT ulFlags, // 标志 … }BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO; 为了使用方便,封装一个CDirDialog类来管理浏览目录对话框(见07CommDlg程序) 注册表的使用 HEKY_USERS: 定义了所有用户信息,其中部分分支将映射到HEKY_CURRENT_USER关键字中,它的大部分设置都可以通过控制面板来修改. HEKY_CURRENT_CONFIG: 定义了计算机得当前配置,如显示器,打印机的信息,它实际上也是指向HEKY_LOCAL_MACHINE\CONFIG结构中某个分之的指针. HEKY_DYN_DATA: 定义了系统运行中的动态数据,即以发生的事件的有关信息(Win 98/me 以前版本) HKEY_PERFORMANCE_DATA: 在Windows NT/2000/XP注册表中虽然没有HKEY_DYN_DATA键,但是它却隐藏了一个名为“HKEY_ PERFOR MANCE_DATA”键。所有系统中的动态信息都是存放在此子键中。系统自带的注册表编辑器无法看到此键,但可以用专门的程序来查看此键,比如使用性能监视器。 * 实例见第八章Word文档: 内存映射文件应用举例 第八章 文件操作和内存映射文件 电子科技大学软件学院--杨尚明 * 第八章 文件操作和内存映射文件 电子科技大学软件学院--杨尚明 * 卷标就是打开我的电脑,看到的C盘D盘的名字。比如本地磁盘(c:),本地磁盘就是C盘的卷标。用dos命令label或者vol可以看到英文卷标,中文卷标用该命令看不到。 下面是转的一篇使用这个接口的博文 DWORD SetFilePointer( ? HANDLE hFile, ? LONG lDistanceToMove, ? PLONG lpDistanceToMoveHigh, ? DWORD dwMoveMethod ); 文中对于第二个和第三个参数进行了详细的说明: lpDistanceToMoveHigh 参数是用来管理大文件,如果要移到文件中任何位置,我们就必须设置这个参数的值。假如我们传入NULL值,那么lDistanceToMove 的最大值是2^31–2(2G-2),因为所有文件指针的值是有符号的。因此,就算文件只有很少的机会能够达到这个大小,我们最好还是把文件当成是一个大文件,并且在程序中使用64位的指针(就是lpDistanceToMoveHigh的值不是NULL)。如果我们有一个压缩的并且文件很少的NTFS文件系统中,即使当前盘的空间不是很大的情况下,也很可能会有一些大文件。 假如lpDistanceToMoveHigh传入的不是NULL,那么lpDistanceToMoveHigh和lDistanceToMove会组成一个有符号的64位值。lDistanceToMove参数是被作为这个值的低32们,lpDistanceToMoveHigh作为高32位,也就是说lpDistanceToMoveHigh是lDistanceToMove的符号扩展名。 为了从0移动到2G位置,lpDistanceToMoveHigh必须设置为NULL或当作lDistanceT

文档评论(0)

基本资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档