首页 基于VB和API函数实现文件时间属性的获取和设置

基于VB和API函数实现文件时间属性的获取和设置

举报
开通vip

基于VB和API函数实现文件时间属性的获取和设置基于VB和API函数实现文件时间属性的获取和设置 基于VB和API函数实现文件时间属性的获取和设置,软件设计开发, 郭 念 宫德龙 约3093字 摘要:在数据备份时难以保持文件原来的时间属性,Windows也没有提供直接设置时间属性的工具。对此,首先介绍了API函数和时间格式,总结出利用VB和API解决问题的方法,具有良好的应用前景。 关键词:VB;API;时间属性 中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2161-02 Obtain and Modify th...

基于VB和API函数实现文件时间属性的获取和设置
基于VB和API函数实现文件时间属性的获取和设置 基于VB和API函数实现文件时间属性的获取和设置,软件 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 开发, 郭 念 宫德龙 约3093字 摘要:在数据备份时难以保持文件原来的时间属性,Windows也没有提供直接设置时间属性的工具。对此,首先介绍了API函数和时间格式,总结出利用VB和API解决问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,具有良好的应用前景。 关键词:VB;API;时间属性 中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2161-02 Obtain and Modify the File's Time Attributes Based on VB and API GUO Nian1,GONG De-long2 (1.Computer Center,Henan University,Kaifeng 475001,China;2.Basic Experiment Teaching Center,Henan University, Kaifeng 475004,China) Abstract:The original time attributes is difficult to maintain in the data backup. And Windows does not provide a direct way to modify attributes. The article introduces API functions and Windows time formats at first, and based on VB and API functions summarizes a solution to the problem. The solution has a good prospect of application. Key Word:VB;API;time attributes 1 引言 对于很多计算机用户而言,数据备份就是备份数据内容本身,很少涉及到文件的时间属性。在某些对数据管理有着非常严格要求的特殊行业中,备份文件的时间属性也十分重要。但在目前Windows操作系统下,数据备份难以保持文件原来的时间属性,Windows操作系统也没有提供直接设置时间属性的方法和工具。笔者对此问题做了深入研究,并总结出一种解决此题的方法。 VB采用可视化编程技术、面向对象的事件驱动机制,能够快速地开发各种应用程序。然而VB在功能上具有局限性,不能直接控制和处理计算机的系统参数和硬件资源。为了增强VB的开发能力,VB提供了访问Windows API的方法。本文阐述了在VB平台上,利用Windows API函数,来获取和设置文件的时间属性。 2 Windows API函数简介 Windows API(Application Programming Interface)是操作系统支持的函数定义、参数定义和消息格式的集合, API函数主要包含在三个动态链接库(DLL),分别是User32.dll、kernel32.dll和GDI.dll。对于VB应用程序而言,API函数是外部过程,VB必须先声明后调用。API函数的声明通过Declare语句来实现,声明格式有两种: 格式一:有返回值的Function过程声明: Declare Function API函数名Lib“库名”[Alias“别名”]([参数列表])As类型 格式二:无返回值的Sub过程声明: Declare Sub API函数名Lib“库名”[Alias“别名”]([参数列表]) 其中“API函数名”指的是DLL中的函数名,也是VB应用程序中使用的过程名;“库名”表示函数所在的动态链接库,是DLL文件的名称;“别名”(Alias)一般情况下不使用;“参数列表”用来指定传给API函数的参数,参数的传递形式由函数自身决定,不由用户选择。具体步骤是: 1) 通过外接程序管理器加载VB 6.0 API Viewer外接程序; 2) 在API Viewer应用程序窗口中,打开Win32api.txt文件,查找到所需声明的API函数和类型定义,并进行复制; 3) 将前面复制的API函数和类型定义复制到工程的窗体模块、 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 模块或类模块中。 3 获取和设置文件的时间属性 文件的时间属性是指文件的创建时间、最后一次修改时间和上一次访问时间,备份数据时往往无法复制原来的属性。在VB平台上,要获取和设置文件的时间属性,需要借助API函数GetFileTime和SetFileTime来实现。 3.1 时间格式转换 在GetFileTime和SetFileTime函数原型中,参数lpCreationTime、lpLastAccessTime和lpLastWriteTime都采用了FILETIME结构,是Windows的一种时间格式。此结构保存一个64位二进制数值,有两个长整型(Long)字段,表示从1601年1月1日起的100毫微秒间隔数,称为UTC时间(格林尼治时间),其结构声明如下: Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type 在此结构中,我们无法直接识别出年、月、日、时、分、秒等信息,而Windows的另一种时间格式可以解决此问题,就是SYSTEMTIME时间格式。它是一个包含有年、月、星期、日、小时、分、秒、微秒这些成员的结构,其结构声明如下: Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type 针对上述两种结构,Windows提供了专门的API函数来实现相互间的转换。因此,使用GetFileTime获取文件时间属性后,需要先调用FileTimeToLocalTime消除时差,再调用FileTimeToSystemTime,把FILETIEME格式转换为SYSTEMTIME格式便于识别;使用SetFileTime设置文件时间属性前,也需要调用SystemTimeToFileTime把SYSTEMTIME格式转化为FILETIEME格式用于设置时间属性。 3.2 获取和设置文件时间属性的实现 在使用GetFileTime和SetFileTime函数获取或设置文件的时间属性时,需要先获取指定文件的句柄,之后并关闭已打开文件的句柄。具体而言,首先使用函数CreateFile打开文件对象,获取文件句柄;然后调用函数GetFileTime和SetFileTime获取和设置文件的时间属性;最后使用函数CloseHandle关闭文件句柄。 1) 获取指定文件的时间属性,其中入口参数scrFile指定了待处理的文件, stime用来保存获取的文件时间属性。关键代码如下: ' 获取指定文件的句柄 HANDLE hDir = CreateFile(scrFile, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, OPEN_EXISTING, 0, 0) ' 获取文件时间属性信息 GetFileTime hDir, lpCreationTime, lpLastAccessTime, lpLastWriteTime CloseHandle(hDir)'关闭打开过的句柄 2) 设置指定文件的时间属性,其中入口参数destFile指定了待处理的文件,new_stime 为指定时间,关键代码如下: '获取指定文件的句柄 HANDLE hDir = CreateFile(destFile, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, OPEN_EXISTING, 0, 0) '设置文件的时间属性 SetFileTime hDir,lpCreationTime, lpLastAccessTime, lpLastWriteTime CloseHandle(hDir)'关闭打开过的句柄 在上述代码中,stime和new_stime均为SYSTEMTIME结构,其他时间参数为FILETIME结构,具体代码由读者自行实现。 4 结语 本文通过使用VB和API函数来对任意文件的时间属性进行获取与写入处理,在数据的完整备份与复原等方面中有较好的应用前景。本文所述代码在Windows XP Professional下,由Microsoft Visual Basic 6.0编译通过。 参考文献: [1] Roman S.Visual Basic Win32 API编程[M].北京:中国电力出版社,2001. [2] 冉林仓.WINDOWS API编程[M].北京:清华大学出版社,2005. [3] 申石磊,张东生.Visual Basic程序设计[M].北京:中国科学技术出版社,2007:37-40. [4] 林永,张乐强.Visual Basic 6.0用户编程 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 [M].2版.北京:人民邮电出版社,2002.
本文档为【基于VB和API函数实现文件时间属性的获取和设置】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:19KB
软件:Word
页数:6
分类:互联网
上传时间:2017-10-10
浏览量:114