Процесс не может получить доступ к файлу изображения, если он открыт в программе - Visual Basic .NET
Формулировка задачи:
Прощу помощи!
Изображения получаются со сканера и сохраняются в папку Temp под именами содержащими номера страниц документа : 1.jpg, 2.jpg и т.д.
потом сканируем директорию и получаем список файлов
изображения добавляются в ImageList в номерном порядке страниц документа
Но потом если я хочу выполнять какие-либо операции с файлами (переименование , перемещение , удаление) , то вылазит исключение "Процесс не может получить доступ к файлу , возможно он занят другим процессом"
Пробовал и удалять изображение из ImageList и ListView , потом переименовывать,удалять,перемещать
и Dispose пробовал. Всё равно получаю исключение
При запущенной программе в проводнике переименовать файл хотел- пишет , что файл занят процессом vshost32
Возможно нужен какой-то другой метод. Подскажите!
Листинг программы
- Dim filesList_ins = Directory.GetFiles(Path.GetTempPath & "scan", "*.jpg")
Листинг программы
- Dim listlarge As New ImageList()
- Dim i as integer = 1
- For Each files in filesList_ins
- listlarge.Images.Add(Bitmap.FromFile(Path.GetTempPath & "scan" & i & ".jpg"))
- listview1.Items.Add(i.ToString)
- Listview1.Items(i-1).ImageIndex = i-1
- i+=1
- Next
- ListView1.LargeImageList = listlarge
- ListView1.View = View.LargeIcon
Решение задачи: «Процесс не может получить доступ к файлу изображения, если он открыт в программе»
textual
Листинг программы
- Dim fs As FileStream
- fs = New FileStream("путь", FileMode.Open)
- PictureBox1.Image = Image.FromStream(fs)
- fs.Close()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д