Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / самоуничтожение / 25 сообщений из 29, страница 1 из 2
28.07.2011, 22:52
    #37371848
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Open App.Path + "\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 " + App.Path + "\Delself.bat"
    Close
    Shell App.Path + "\Delself.bat", vbHide
выше код с этого форума, создающий бат файл, который должен удалить запустившую его прогу. испробовал - бат файл не может убить прогу, т.к. она запущена. как прописать в бате, чтобы он подождал пару секунд, пока прога закроется? или проблема в другом?
...
Рейтинг: 0 / 0
28.07.2011, 23:16
    #37371870
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Ву-первых строках письма... этать... как уже советовали - давайте обзывать файлы "*.cmd"
Ву-вторых - парент VBA всё равно будет дожидаться исполнения процесса, запущенного "из-под себя" напрямую.
Ву-третьих - достаточно сформировать текстовый файл для VBScrips/JScrips и повесить его при выходе на Shell.Execute с параметром /nowait
...
Рейтинг: 0 / 0
28.07.2011, 23:33
    #37371886
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
AndreTM,

простите, но не догоняю, в чём суть. что нуно дописать в вывешенном выше коде? желательно простой таймер в бат, если возможно
...
Рейтинг: 0 / 0
28.07.2011, 23:47
    #37371898
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
BelowZeroнуно
кто такой нуно?
...
Рейтинг: 0 / 0
28.07.2011, 23:50
    #37371902
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Я имел ввиду... в виду...
Ну _какой_ таймер в батнике?
1) Формируете, скажем, .vbs и запускаете его на ожидание закрытия приложения | конкретного действия приложения
2) Действуете уже из скрипта, анализируя состояние нужного вам приложения/окна....

Вообще, я бы это писАл через AutoIt... Впрочем, я где-то выше об этом уже заикАлся.
...
Рейтинг: 0 / 0
28.07.2011, 23:51
    #37371903
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
BelowZeroпока прога закроется?А с чего прога должна закрыться? Полностью можно код?
...
Рейтинг: 0 / 0
28.07.2011, 23:52
    #37371905
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
AndreTM, ты меня удивляешь уже второй раз за сегодня. Код вполне рабочий, просто автор не понимает, как его применить.
...
Рейтинг: 0 / 0
28.07.2011, 23:56
    #37371907
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Shocker.ProBelowZeroпока прога закроется?А с чего прога должна закрыться? Полностью можно код?
полный код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Private Sub Form_Load()
'прога поработала поработала поработала поработала захотела самоуничтожиться:
    Open App.Path + "\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 " + App.Path + "\Delself.bat"
    Close
    Shell App.Path + "\Delself.bat", vbHide
    end sub
варианты с скриптами и тд пока что сложны lzk понимания, пытаюсь разобраться с бат файлами, пока что не догоняю, как. *нуно(задротский онлайн язык флудерастов) = нужно
...
Рейтинг: 0 / 0
28.07.2011, 23:59
    #37371909
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Тебе нужно не с бат-файлами разбираться, а в VB

Что и требовалось доказать. Собственно, хоть ты две секунды ставь задержку, хоть десять - ты чего дождаться-то то хочешь?
...
Рейтинг: 0 / 0
29.07.2011, 00:01
    #37371912
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Shocker.Pro,

запустить бат файл на исполнение, быстренько завершится. бат файл должен удалить прогу и самоуничтожиться. или принцип другой?)
...
Рейтинг: 0 / 0
29.07.2011, 00:02
    #37371914
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
BelowZeroзапустить бат файл на исполнение, быстренько завершится. бат файл должен удалить прогу и самоуничтожиться. или принцип другой?)
Shocker.ProBelowZeroпока прога закроется?А с чего прога должна закрыться?
...
Рейтинг: 0 / 0
29.07.2011, 00:07
    #37371917
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Shocker.Pro,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Open App.Path + "\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 " + App.Path + "\Delself.bat"
    Close
    Shell App.Path + "\Delself.bat", vbHide
    Unload Me
...
Рейтинг: 0 / 0
29.07.2011, 00:14
    #37371923
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
так как запихать таймер или задержку в бат?
...
Рейтинг: 0 / 0
29.07.2011, 00:18
    #37371924
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
BelowZeroтак как запихать таймер или задержку в бат? а теперь-то зачем?
...
Рейтинг: 0 / 0
29.07.2011, 00:19
    #37371925
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Shocker.Pro,

у меня прога выключается, одновременно бат файл самоудаляется, не убив программу. в итоге остаётся одна выключенная некикнутая прога)
...
Рейтинг: 0 / 0
29.07.2011, 00:23
    #37371928
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
поэтому, я думал, может дело в фальтстарте батника...
...
Рейтинг: 0 / 0
29.07.2011, 00:34
    #37371930
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Если ты удосужишься посмотреть в сам батник, то увидишь, что он не может удалить себя, пока не удалит прогу.
...
Рейтинг: 0 / 0
29.07.2011, 00:36
    #37371932
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Shocker.Pro,

тем не менее, всё так, как написал. а то бы не стал писать на форум) был ехе файл. в него запихал приведённый выше код. прога создаёт батник и выключается. батник самоудаляется. остаётся выключенная прога
...
Рейтинг: 0 / 0
29.07.2011, 00:55
    #37371938
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
пишет run-time error '52' Bad file name or number. и что оно от меня хочет?..
...
Рейтинг: 0 / 0
29.07.2011, 08:57
    #37372057
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Поэкспериментировал
проект не удаляется, если в его имени есть пробелы
а если в пути есть пробелы, то не удаляется и батник

экспериментируй с кавычками или "короткими" именами
...
Рейтинг: 0 / 0
29.07.2011, 09:01
    #37372063
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
Shocker.ProЕсли ты удосужишься посмотреть в сам батник, то увидишь, что он не может удалить себя, пока не удалит прогу.... если имя "проги" не содержит пробелов и знаков "не латинницы"

BelowZero,
не гадайте на кофэйной гуще. Посмотрите, что делает Ваш батник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Open App.Path + "\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 " + App.Path + "\Delself.bat"
    Print # 1 , "pause"
    Close
    Shell App.Path + "\Delself.bat", vbNormalFocus
    Unload Me
Запихнуть задержку в бат можно командой
Код: plaintext
ping  127 . 0 . 0 . 1  -n примерная_задержка_в_секундах
...
Рейтинг: 0 / 0
29.07.2011, 11:36
    #37372343
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
скукотища,

после вставки Pause в батник он также самоудалился, не тронув ехе, тока на этот раз без ошибки 52)))
...
Рейтинг: 0 / 0
29.07.2011, 12:28
    #37372524
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
проверил код отдельно - работает правильно. в пооолном коде(около тысячи строк) что-то работать не хочет. с именами, пробелами, латиницей проблем нет
...
Рейтинг: 0 / 0
29.07.2011, 12:31
    #37372533
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
BelowZero,

Код в студию!
...
Рейтинг: 0 / 0
29.07.2011, 15:12
    #37373008
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
самоуничтожение
timtim,

код, к сожалению, выложить никак, т.к. это готовый работоспособный проект. прикол в том, что один и тот же бат файл, созданный из одной программы, работает, а из другой - нет...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / самоуничтожение / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]