如果您查看文档CreateFile(),则有此dwShareMode参数.这可以确定另一个进程在打开时可以对该文件执行的操作.
指定FILE_SHARE_READ让另一个进程打开文件进行读取.有FILE_SHARE_WRITE,这意味着另一个进程可以写入它.还有FILE_SHARE_DELETE,允许删除和(IIRC)也重命名.
如果有人在没有打开文件的情况下FILE_SHARE_WRITE打开文件进行写访问,你就会得到ERROR_SHARING_VIOLATION.否则你应该能够写信给它.
不幸的是,如果一个进程出现并且没有设置共享标志以允许您需要的东西,那么你几乎没有运气.虽然您可以使用MoveFileEx()该选项MOVEFILE_DELAY_UNTIL_REBOOT.但我不确定这是否有效; 除了它存在之外,我对这个电话不太了解.:-)