- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Delphi判断文件是否正在被使用
Delphi判断文件是否正在被使用
首先,我们先来认识下CreateFile函数,它的原型如下 HANDLE CreateFile(LPCTSTR lpFileName,??? //指向文件名的指针DWORD dwDesiredAccess,??? //访问模式(写/读)DWORD dwShareMode,??? //共享模式LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针DWORD dwCreationDisposition,?? //如何创建DWORD dwFlagsAndAttributes,?? //文件属性HANDLE hTemplateFile??? //用于复制文件句柄); 下面是参数的说明 lpFileName?? 指向一个空结尾字符串。该参数指定了用于创建或打开句柄的对象。?? 如果lpFileName的对象是一个路径,则有一个最大字符数的限制。不能超过常量(MAX_PATH).这个限制指示了CreateFile函数如何解析路径. dwDesiredAccess?? 指定对象的访问方式,程序可以获得读访问权,写访问权,读写访问权或者是询问设备(device query) 访问权.?? 这个参数可以是下列值的任意组合???? 0??????? 指定询问访问权.程序可以在不直接访问设备的情况下查询设备的属性.???? GENERIC_READ??????? 指定读访问权.可以从文件中读取数据,并且移动文件指针.可以和GENERIC_WRITE组合成为读写访问权.???? GENERIC_WRITE??????? 指定写访问权.可以从文件中写入数据,并且移动文件指针.可以和GENERIC_READ组合成为读写访问权. dwShareMode???? 设置位标志指明对象如何共享.如果参数是0, 对象不能够共享. 后续的打开对象的操作将会失败,直到该对象的句柄关闭.???? 使用一个或多个下列值的组合来共享一个对象.???? FILE_SHARE_DELETE??????? WINDOWS NT:后续的仅仅请求删除访问权的打开操作将会成功.???? FILE_SHARE_READ??????? 后续的仅仅请求读访问权的打开操作将会成功.???? FILE_SHARE_WRITE??????? 后续的仅仅请求写访问权的打开操作将会成功. lpSecurityAttributes???? 指向一个 SECURITY_ATTRIBUTES 结构的指针用于确定如何在子进程中继承这个句柄.如果这个参数是NULL,则该句柄不可继承.dwCreationDisposition???? 指定当文件存在或者不存在时如何动作。关于这个参数更多的信息,参考批注部分。这个参数必须是一个或多个下列值。???? CREATE_NEW??????? 创建一个新文件. 如果该文件已经存在函数则会失败.???? CREATE_ALWAYS??????? 创建一个新文件.如果该文件已经存在,函数将覆盖已存在的文件并清除已存在的文件属性???? OPEN_EXISTING??????? 打开一个文件,如果文件不存在函数将会失败.??????? 如查你使用CreateFile函数为设备装载控制台.请查看批注中的为什么使用OPEN_EXISTING标志的部分.??? ??? OPEN_ALWAYS??????? 如果文件存在,打开文件. 如果文件不存在,并且参数中有CREATE_NEW标志,则创建文件.???? TRUNCATE_EXISTING??????? 打开一个文件,每次打开,文件将被截至0字节.调用进程必须用GENERIC_WRITE访问模式打??????? 开文件.如果文件不存在则函数就会失败. dwFlagsAndatributes?? 为文件指定属性和标志位?? 该参数可以接收下列属性的任意组合.除非其它所有的文件属性忽略FILE_ATTRIBUTE_NORMAL.FILE_ATTRIBUTE_ARCHIVE ???? 文件将被存档,程序使用此属性来标志文件去备份或移除FILE_ATTRIBUTE_HIDDEN ???? 文件被隐藏,它不会在一般文件夹列表中被装载.FILE_ATTRIBUTE_NORMAL ???? 文件没有被设置任何属性.FILE_ATTRIBUTE_OFFLINE ???? 文件的数据没有被立即用到。指出正在脱机使用该文件。FILE_ATTRIBUTE_READONLY ???? 这个文件只可读取.程序可以读文件,但不可以在上面写入内容,也不可删除.FILE_ATTRIBUTE_SY
文档评论(0)