是否可以在另一个应用程序更新文件时打开文本文件并读取内容,这样就不会导致锁定冲突?
我需要监视一个应用程序的日志文件,每次发生事件时该日志文件都会由另一个应用程序更新。
在尝试读取文件之前,我会检查该文件是否正在使用,但这似乎并不在所有情况下都有效。
谢谢,彼得
这取决于第一个应用程序如何打开该文件。
即,当调用 CreateFile API 打开文件时,有 dwShareMode 参数告诉 api 如何打开它(如果给定 0,则无法从其他应用程序 IIRC 访问它)。
否则从该文件读取应该没有问题。
如果我没有记错的话,要检查该文件是否正在以只读方式打开,您可以调用
就像是
CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0) ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)