Если файл открывается другим процессом в монопольном режиме, вы не можете - Windows не позволит вам. В этом случае лучше всего подождать, пока другой процесс закроет файл, а затем удалить его, или удалить его при следующей перезагрузке с помощью MoveFileEx()
с флагом MOVEFILE_DELAY_UNTIL_REBOOT
и место назначения NULL
.
Если файл открывается не исключительно другим процессом, вы можете просто вызвать DeleteFile()
как обычно (при условии, что у вас есть разрешение на это). Файл останется, пока другой процесс его откроет, но он будет удален, как только другой процесс закроет его.
(И да, я понимаю, что эти ссылки предназначены для Win32 C API; те же функции должны быть доступны в VB .NET)