Удалить самого себя

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Удалить самого себя

Сообщение GPP » 03.11.2005 (Чт) 3:00

Здравствуйте! Как в VB удалить файл после завершения его работы. То есть програма должна удалить сама себя после завершения работы или во время ее. Возможно ли это сделать не используя ASM? За ранее спасибо!
GPP(c) Gorlo Pavel Programming

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 03.11.2005 (Чт) 3:06

Создай BAT файл и удаляй через DEL или ERASE. :)

Brusco
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 22.10.2004 (Пт) 3:16
Откуда: Reutov, Russia

Сообщение Brusco » 03.11.2005 (Чт) 4:34

А вот и кодик:

Код: Выделить всё
Open "C:\Delself.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"
Print #1, "del " & "C:\Delself.bat"
Close #1
Shell "C:\Delself.bat", vbHide

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 03.11.2005 (Чт) 11:03

Как-то больно грубо получается, надо искать способ поэлегантнее.
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 03.11.2005 (Чт) 11:22

Можно создавать при Unload-e файлик .vbs, который и запустить...

В чем плюс:
Перед удалением проги (через FSO) можно задать задержку (через Timer) для того, чтобы удаляемая прога успела выгрузится и не было проблем...

И делайте проверку в начале проги, чтоб нельзя было запускать с СД или мест "неудаляемых"...

Я так делаю...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 03.11.2005 (Чт) 11:37

В поиск.
Быть... или не быть. Вот. В чём вопрос?

Zoomie
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 181
Зарегистрирован: 10.05.2004 (Пн) 10:07
Откуда: СПб

Сообщение Zoomie » 03.11.2005 (Чт) 18:51

Удалить самого себя - просто великолепно звучит! :lol:

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Re: Удалить самого себя

Сообщение vvs_adm » 03.11.2005 (Чт) 22:10

GPP писал(а):То есть програма должна удалить сама себя
Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
    Me.Harakiri
    Set Me.Corpse = Nothing
End Sub
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

Brusco
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 22.10.2004 (Пт) 3:16
Откуда: Reutov, Russia

Сообщение Brusco » 04.11.2005 (Пт) 2:56

Cryonyx писал(а):Как-то больно грубо получается, надо искать способ поэлегантнее.


А чего поэлегантнее-то? :) Этот способ даже очень ничего! Вон как AjaxVS советовал через VBS - тоже файл создавать надо.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.11.2005 (Пт) 3:13

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 121

    TopList