Self destruct VBScript, преобразованный как исполняемый файл [duplicate]

Самый простой ответ на этот вопрос - добавить.

css

float: left;

codepen link: http://jsfiddle.net/dGHFV/3560/

23
задан ata 21 June 2013 в 22:41
поделиться

7 ответов

Вы можете использовать планировщик окон для планирования задачи для удаления вашей программы через X секунд.

Командная строка: http://msdn.microsoft.com/en-us/library/bb736357 % 28VS.85% 29.aspx

Или API: http://msdn.microsoft.com/en-us/library/aa383608%28VS.85%29.aspx

3
ответ дан Alex Reitbort 4 September 2018 в 08:24
поделиться

Один из способов сделать это - использовать функцию MoveFileEx с флагом MOVEFILE_DELAY_UNTIL_REBOOT и адресатом NULL. Согласно документации, это:

регистрирует файл lpExistingFileName , который должен быть удален при перезапуске системы. Если lpExistingFileName ссылается на каталог, система удаляет каталог при перезапуске, только если каталог пуст.

17
ответ дан Greg Hewgill 4 September 2018 в 08:24
поделиться

Я решил эту проблему (используя Visual Basic), создав пакетный файл, который выполняется, пока процесс все еще запущен, ждет 1сек, поэтому программа может закрыть себя и удалить программу.

Возможно, вам понадобится чтобы изменить его для этого, удалите все в одной папке. После выполнения вашей задачи просто вызовите del(), и он должен работать.

 Sub del()
    Dim file As System.IO.StreamWriter
    file = My.Computer.FileSystem.OpenTextFileWriter("del.bat", True)
    file.WriteLine("")
    file.WriteLine("timeout 1")
    file.WriteLine("echo Y | del *.*")
    file.Close()
    Process.Start("del.bat")
    Me.Close()
End Sub
0
ответ дан Julian 4 September 2018 в 08:24
поделиться

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

2
ответ дан Pavel Alexeev 4 September 2018 в 08:24
поделиться
process.start("cmd /c ping localhost -n 3 > nul & del filepath")
exit

заменить process.start любой командой, которую использует ваш язык программирования для запуска программ с аргументами

заменить путь к файлу путь к вашему exe

заменить exit командой для завершение вашей программы

14
ответ дан Samy Bencherif 4 September 2018 в 08:24
поделиться

Пока этот exe не будет в памяти, он не сможет удалить себя. Тем не менее, он может зарегистрировать в системе задачу по удалению себя после заданного промежутка времени, когда ожидается, что он завершит выполнение.

0
ответ дан techzen 4 September 2018 в 08:24
поделиться

Это можно сделать в Linux. Вы обнаружите, что вообще невозможно удалить исполняемый файл в Windows. Тем не менее, вы можете удалить Windows EXE для следующей перезагрузки: http://www.howtodothings.com/computers/a1402-delete-a-running-exe.html

Если вы хотите, чтобы файл был удален после его запуска, вы можете просто попросить пользователя его удалить. Если причина, по которой вы хотите, это мера безопасности, то то, что вы делаете, ошибочно. Пользователь может обойти это, просто сделав копию файла первым.

4
ответ дан uckelman 4 September 2018 в 08:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: