Принудительно закрыть файл по его пути в Windows
Я пишу временный файловый менеджер для других разработчиков. Я хочу удалить файлы, даже если наши консольные приложения зависают или закрываются кнопкой «X».
Пока нашелstd::set_terminate
, std::atexit
а такжеSetConsoleCtrlHandler
методы, с помощью которых я могу удалить все временные файлы, которые мне нужны. Проблема в том, что я не могу удалить открытые файлы. Более того - я не могу управлять потоками для этих файлов, потому что разработчики используют несколько библиотек (например, GDAL), которые используют свои собственные механизмы потоков и могут принимать только путь к целевому файлу.
Как принудительно закрыть и удалить все файлы, открытые текущим приложением?