Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
1

Как отловить исключение при удалении использующегося другим процессом файла

15.06.2012, 17:11. Показов 1474. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
сделал так, грузится длл (чит) из ресурсов программы и чтобы при выходе программы длл удалялась.
Все работает, но когда длл проинжектирована в игру и ты пытаешся выйти с приложения, программа пытается удалить длл но т.к длл используется, пишет не удается удалить длл, надо сделать так чтобы писало, надо сначала покинуть игру.
попробовал создать код

C#
1
2
3
4
5
6
7
8
9
10
11
12
        private void Client_FormClosing(object sender, FormClosingEventArgs e)
        {
           try
            {
            System.IO.File.Delete(fileDll);
            Application.Exit();
            }
           catch
            {
            MessageBox.Show("Необходимо Выйти с игры!");
            }
         }
но он ток делает вид что работает, пробуешь выйти с приложения (когда длл в игре),он показывает окно MessageBox как нажимаю ОК программа закрывается, но файл не удаляется.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2012, 17:11
Ответы с готовыми решениями:

Исключение: файл уже используется другим процессом
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Проверка занятости файла другим процессом
Здравствуйте. Существует ли метод, сообщающий, записывается ли файл другим процессом? Хочется...

Чтение файла занятого другим процессом
Нашел много по этому вопросу, да и сам когда то делал но сейчас не работает. Файл занят другим...

Чтение из файла занятого другим процессом
Добрый день! Прошу помочь. Есть программа которая записывает в файл TXT данные, вторая программа...

4
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
15.06.2012, 17:37 2
хм, по этому обработчику событий у тебя файл в случае присутствии ошибки удалять не должно. Как исправить проблему даже не знаю.
0
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
15.06.2012, 19:44  [ТС] 3
Цитата Сообщение от Zuzik Посмотреть сообщение
хм, по этому обработчику событий у тебя файл в случае присутствии ошибки удалять не должно. Как исправить проблему даже не знаю.
сложный случай согласен, но может всетаки есть что-то ...

Добавлено через 1 час 34 минуты
может с инжектором помудрить, чтоб он не закрывался пока длл в игре?
0
251 / 163 / 14
Регистрация: 10.03.2012
Сообщений: 544
15.06.2012, 19:45 4
Извращенный вариант: создать маленькую утилитку, которую запускать в случае ошибки (после мессаджа). Эта утилитка будет ждать какой-то промежуток времени, чтобы игра успела полностью выгрузиться, а затем удаляет DLL. Реализовать в игре можно через использование System.Diagnostics.Process.Start(string FileName), где FileName -- полное имя программулины-заглушки. Саму заглушку, может, можно даже как батник сделать .
0
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
15.06.2012, 19:52 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void Client_FormClosing(object sender, FormClosingEventArgs e)
        {
           try
            {
            System.IO.File.Delete(fileDll);
            Application.Exit(); // Если приложение написано не через Ж (и у вас только одна форма), то в этой строчке нет необходимости...
            }
           catch
            {
            MessageBox.Show("Необходимо Выйти с игры!");
            e.Cancel = true; // Не? Или я чего-то не догоняю в вопросе...
            }
         }
Цитата Сообщение от Marik768 Посмотреть сообщение
но файл не удаляется
И не удалится пока его не освободит использующее приложение (в данном случае игра).
1
15.06.2012, 19:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2012, 19:52
Помогаю со студенческими работами здесь

Чтение файла занятого другим процессом
Приветствую. Сразу к сути. Есть бинарный файл в который постоянно пишется информация. Как мне...

Чтение данных из Log файла, занятого другим процессом, и перевод их в переменную
Доброго времени суток уважаемые форумчане) Прошу на меня не ругаться, я только учусь. Исходные...

В данный момент объект используется другим процессом (при рисовании)
Вообщем хочу зарисовывать двумерным циклом пиксели рандомнымы цветами (синий или белый) Так как...

Файл используется другим процессом при попытке записи в него
Здравствуйте, Вот такая ситуация. Приложение пишет лог-файл, который можно в любой момент работы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru