检测文件是否在C++中打开

Ale*_*raC 6 c++ windows

在C++中是否有任何方法可以检测文件是否已在另一个程序中打开?
我想删除并重写一些文件,但是如果打开文件我想显示错误信息.我正在使用Windows操作系统.

hmj*_*mjd 11

根据" 是文件打开查询 " 的结果采取操作是竞争条件(查询返回false,然后程序在程序尝试删除之前打开文件).

尝试删除文件DeleteFile(),如果失败则显示文件删除失败的原因,使用GetLastError().请参阅系统错误代码以获取错误代码列表(ERROR_SHARING_VIOLATION其中指出"进程无法访问该文件,因为该文件正由另一个进程使用.")