Страница: 1 |
Страница: 1 |
Вопрос: Самоуничтожение файла...
Добавлено: 13.09.04 18:54
Автор вопроса: Barulya
Расскажите пожалуйста, каким образом можно организовать самоудаление файла после выполнения???
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 13.09.04 21:33
создание бат-файла и его запуск... за подробностями можешь посмотреть пример VBPhantom, он не на .НЕТ но логика понятна... да и бат-файл он везде бат
Номер ответа: 2
Автор ответа:
Barulya
Вопросов: 29
Ответов: 55
Профиль | | #2
Добавлено: 14.09.04 11:39
Пробовал- не получается. Насколько я понял при работе приложения доступа к файлу нет, поэтому и не удаляется... Нужно ожидать окончания работы приложения но как это сделать, подскажите??
Номер ответа: 3
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #3
Добавлено: 14.09.04 12:05
Попробуй в событие Form_QueryUnload поместить этот код
Open App.Path + "\Kill.bat" For Append As #1
Print #1, "@echo off"
Print #1, ":try"
Print #1, "del " + App.EXEName + ".exe"
Print #1, "if exist " + App.EXEName + ".exe goto try"
Close
Shell App.Path + "\Delself.bat", vbHide
Вроде бы так хотя не уверен, взял где-то здесь, если не сработает посмотри в примерах.
Номер ответа: 4
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #4
Добавлено: 14.09.04 12:07
З.Ы. Опять не заметил, что про NET , возможно там такого события у формы нет.
Номер ответа: 5
Автор ответа:
Агент Смит
ICQ: 147404128
Вопросов: 12
Ответов: 128
Web-сайт:
Профиль | | #5
Добавлено: 22.02.05 16:34
Мне кажется, что этот ворос ещё можно решить при помощи дочернего процесса, пораждённого основным: дочке передаём процесс/заголовок/что ещё и тот, сразу же как закочится выполнение основного процесса, удаляет его файл. Разумеется, ещё надо будет использовать CodeDome если не ошибаюсь с названием.
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 23.02.05 01:22
Интересно, а кто убьет твой дочерний процесс !?
Как InstallShield оставлять uninstaller в Windows... будет не очень-то корректно
Номер ответа: 7
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #7
Добавлено: 23.02.05 13:02
Нужно ожидать окончания работы приложения но как это сделать
Если ты запустил бат-файл, значит пора выходить из программы, чтобы её можно было прибить, чего ж непонятного.
Открываешь файл бат
Пишешь в него скрипт
Закрываешь его
Запускаешь его
Выходишь из своей программы, открывая бату доступ к уничтожению
В бате должен быть цикл, чтобы он вертелся, пока батник не получит доступ к уничтожению файла.
Номер ответа: 8
Автор ответа:
Агент Смит
ICQ: 147404128
Вопросов: 12
Ответов: 128
Web-сайт:
Профиль | | #8
Добавлено: 24.02.05 14:35
Ничего сложного - я ж говорю, при помощи CodeDome ты компилируешь кусок кода (нового) динамически, и не в файл, а в память. Он прибивает основной процесс, а потом сам просто закрывается не оставляя следов - он же в оперативке.