Удалить себя, не выходя

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Удалить себя, не выходя

Сообщение Alexander N. Samarin » 20.03.2005 (Вс) 13:22

Как можно удалить EXE-шник своей программы из нее самой, не выключая ее? вопрос, конечно, тупой, но все же :roll:
На это не смотрите! Это не подпись!!!!!!

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.03.2005 (Вс) 13:34

Никак.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 20.03.2005 (Вс) 13:37

А некоторые программы загружают себя в память (с дискеты загружают себя в память) и потом дискету можно выбросить :D Хочется также :D
На это не смотрите! Это не подпись!!!!!!

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 20.03.2005 (Вс) 13:39

Это значит, что они себя копируют куда-то на диск, после чего перезапускают себя с винта :).

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.03.2005 (Вс) 15:10

А как это, записать в поток :shock:

На счет дискеты: на самом деле прога может даже не копировать себя на винчестер: просто, если бы Windows спрашивали, можно ли вытащить дискетыуон бы не разрешил. И отформатировать эту дискету(не блокируя открытые дискрипторы) также нельзя. И, есть у меня подозрение, что в некоторых случаях(напр. при загрузке ресурсов) программа может вылететь. Альтернативы для жесткого диска, мне кажеться, нет.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 15:40

Поищи по форуму, где-то это уже было...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 20.03.2005 (Вс) 16:01

НЕЕТ... с дискеты (даже с двух) эта программа запускается иэ-под голого DOS'a и работает!!!
На это не смотрите! Это не подпись!!!!!!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 16:28

Правильно, она создает виртуальный дикс в оперативке...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 16:29

А как ты на VB собрался написать прогу работующую из под голого ДОСа??? :twisted:
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 20.03.2005 (Вс) 16:30

Так есть же Visual Basic for DOS 1.0 :lol: :lol: :lol:
А вообще - может попробовать с файлами в памяти, а? GSerg вроде этим детально занимался.
Моду создают модоки, а распространяют модозвоны.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 20.03.2005 (Вс) 19:48

Jenizix писал(а):А как ты на VB собрался написать прогу работующую из под голого ДОСа??? :twisted:

Не обязательно из - под DOS'а, например, полезно так обновлять программу (Это и есть цель)
На это не смотрите! Это не подпись!!!!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2005 (Вс) 19:52

В Windows для этого надо запустить какой-либо процесс (можно пустой и запускать "замороженным"), а в его программную секцию записать свой код, после чего "разморозить" процесс. Реализацию не покажу, но кто-то в форуме об этом писал.
Lasciate ogni speranza, voi ch'entrate.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 21.03.2005 (Пн) 8:24

Поиск по строке ADS выдает три ссылки. И не одна из них не ведет в интересующую область.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.03.2005 (Пн) 8:48

FleX_2004 писал(а):alibek
кажется это был Gserg или Тёмыч

Может быть.
Но помоему это был xolod.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.03.2005 (Пн) 8:49

FleX_2004 писал(а):просто типа
open "name.exe:potok" for output as #1 итп... а потом winexec "name.exe:potok" и kill name.exe ... готово

Во-первых, это работать не будет.
Во-вторых, это применимо только для NTFS.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.03.2005 (Вт) 8:51

Не будет, когда удаляется файл, удаляются и все его потоки.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.03.2005 (Ср) 8:16

Хорошо, попробую.
Lasciate ogni speranza, voi ch'entrate.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 23.03.2005 (Ср) 15:28

FleX_2004 писал(а):2 alibek Тогда запусти поток winexec'ом и удали файло, к которому креплен поток...... прога пашет, а после выхода из нее поток киляется... кажется это то что просил создатель темы...

Именно в этом суть. Повторяю: задача - программа удаляет себя, копирует заместо удаленного файла новый и перезапускается.
На это не смотрите! Это не подпись!!!!!!

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 24.03.2005 (Чт) 20:13

Alexander N. Samarin
Я процесс обновления решаю так:
Сначала загружается прога, затем она смотрит новую версию и предлагает обновить ее (в случае, если таковая имеется). При нажатии юзером на ок - прога выходит и запускает другой файл, который снимает атрибут (только чтение) и удаляет прогу. Затнем этот файл копирует новую версию вместо старой, запускает ее и удаляет себя.
Вложения
Obnovlenie.rar
Обновление из C:\Last_Ver$
(20.8 Кб) Скачиваний: 18
С уважением, Сергей.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 24.03.2005 (Чт) 20:14

Прога
Вложения
Constructor.rar
(148.91 Кб) Скачиваний: 17
С уважением, Сергей.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 24.03.2005 (Чт) 20:15

Хотел бы узнать Ваше мнение! :D
С уважением, Сергей.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 25.03.2005 (Пт) 19:59

Очень хочется VCF132.ocx и OvalButton.ocx - без них - смертельно!!! :twisted:
На это не смотрите! Это не подпись!!!!!!

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 25.03.2005 (Пт) 20:25

Alexander N. Samarin
Держи
Вложения
OCX.rar
OCX компоненты
(316.37 Кб) Скачиваний: 15
С уважением, Сергей.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 26.03.2005 (Сб) 13:23

Спасибо, посмотрю :)
На это не смотрите! Это не подпись!!!!!!

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 27.03.2005 (Вс) 15:23

Можно просто сделать так...
Старая версия запускает обновленную и завершается.
Обновленная версия стирает старую версию копирует себя под именем старой и запускает её, сама же завершается. А запущенная удаляет загруженную версию.
Вот-это я загнался :)

След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 138

    TopList