|
25.01.2012, 18:50
|
#1
|
|
|
|
Пехотинец
|
Регистрация: 25.09.2010
Сообщений: 79
Популярность: 396
Сказал(а) спасибо: 204
Поблагодарили 154 раз(а) в 77 сообщениях
|
Забавное решение вопроса по "самоудалению" программы
Смотрите исходник.
________________
На жуке не сижу, в л2 не играю, приложения не взламываю, софт больше не пишу.. Работаю
Последний раз редактировалось VeTaL_UA; 28.03.2012 в 17:54.
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
25.01.2012, 19:30
|
#2
|
|
|
|
Разведчик
|
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
Извращенец?
Вы зачем, скажите, контрол-то сюда пихаете?! Обычные строки вас не удовлетворяют?
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
|
|
|
25.01.2012, 20:31
|
#4
|
|
|
|
Старший сержант
|
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
Может и проще способ есть, но я бы обошелся без richTextBox, вот примерно так
Код:
namespace selfdelete
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string st = ":Repeat,del \"ИмяВашейПрограммы.EXE\",if exist \"ИмяВашейПрограммы.EXE\" goto Repeat,del ИмяВашегоБатника.bat";
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
System.IO.FileInfo fi = new System.IO.FileInfo(Application.StartupPath + @"\delete.bat");
System.IO.StreamWriter sw = fi.CreateText();
for (int i = 0; i < st.Split(',').Length - 1; i++)
sw.WriteLine(st.Split(',')[i]);
sw.Close();
System.Diagnostics.Process.Start("delete.bat");
}
}
}
|
|
|
25.01.2012, 20:32
|
#5
|
|
|
|
Пехотинец
|
Регистрация: 25.09.2010
Сообщений: 79
Популярность: 396
Сказал(а) спасибо: 204
Поблагодарили 154 раз(а) в 77 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
|
Цитата: |
|
|
|
|
Сообщение от •theSaboteur• |
|
|
|
|
|
|
|
Извращенец?
Вы зачем, скажите, контрол-то сюда пихаете?! Обычные строки вас не удовлетворяют?
|
|
|
|
|
|
Это вообще причём?
Вроде написал, что тут лишь пример, как можно реализовать самоудаление, плюс каждый и так поймёт, что использовать строки - правильнее (или удобнее, не знаю). А то, что я впихнул туда текстбокс - мой каприз, в стиле "как хочу, так и пишу", смысл темы от моего написания ну совсем никак не изменился.
________________
На жуке не сижу, в л2 не играю, приложения не взламываю, софт больше не пишу.. Работаю
Последний раз редактировалось PrOveN; 25.01.2012 в 20:40.
|
|
|
25.01.2012, 22:42
|
#6
|
|
|
|
Разведчик
|
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
|
Цитата: |
|
|
|
|
|
|
|
|
|
Это вообще причём?
Вроде написал, что тут лишь пример, как можно реализовать самоудаление, плюс каждый и так поймёт, что использовать строки - правильнее (или удобнее, не знаю). А то, что я впихнул туда текстбокс - мой каприз, в стиле "как хочу, так и пишу", смысл темы от моего написания ну совсем никак не изменился.
|
|
|
|
|
|
Причем?!! Ну коль от вашего поста стыдно вам не стало,
то хотя бы при том, что какой-нибудь дурачек, послушав ваших советов,
удумает каждый раз создавать скрытые контролы для хранения текста..
И так Россию-Матушку запозорили, что премьер наш
-Деградируем!
кричит (по челюсти б ему, да ломом - не он-ли деградации поспособствовал), а буржуи из западных стран увидят эту вашу камасутру - помрут со-смеху.
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
Последний раз редактировалось •theSaboteur•; 25.01.2012 в 22:45.
|
|
|
26.01.2012, 19:25
|
#7
|
|
|
|
Пехотинец
|
Регистрация: 02.09.2009
Сообщений: 55
Популярность: 1249
Сказал(а) спасибо: 7
Поблагодарили 191 раз(а) в 37 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
Вы конечно жестокие ребята...
Я вот так удалял:
PHP код:
var exepath = Assembly.GetEntryAssembly().Location;
string commands = "/C ping 1.1.1.1 -n 1 -w 1000 > Nul & Del \"" + exepath + "\"";//пинг используется для задержки
var info = new ProcessStartInfo("cmd.exe", commands)
{WindowStyle = ProcessWindowStyle.Hidden};
Process.Start(info).Dispose();
Environment.Exit(0);
|
|
|
29.01.2012, 18:16
|
#8
|
|
|
|
Рыцарь
|
Регистрация: 09.02.2011
Сообщений: 373
Популярность: 38009
Сказал(а) спасибо: 612
Поблагодарили 448 раз(а) в 175 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
Зделай нормально... ничё не видно... Зачем пхп код обьясни а?
________________
Разработка программ на заказ, все вопросы skype - the-boxi, ICQ - 616027961
|
|
|
23.09.2012, 20:05
|
#9
|
|
|
|
Рыцарь-защитник
|
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
Код который у Puzer-a - не будет удалят .exe после пака ThinApp. из-за того что не всегда после пака можно получить доступ к cmd.exe
А решение ТС будет работать.
Код:
string aep = Application.ExecutablePath;
string[] test = { ":Repeat", "del \"selfdelete.EXE\"", "if exist \"selfdelete.EXE\" goto Repeat", "del delete.bat" };
test[1] = "del \"" + aep.Split('\\')[aep.Split('\\').Length - 1] + "\"";
test[2] = "if exist \"" + aep.Split('\\')[aep.Split('\\').Length - 1] + "\" goto Repeat";
System.IO.FileInfo fi = new System.IO.FileInfo(Application.StartupPath+ @"\delete.bat");
System.IO.StreamWriter sw = fi.CreateText();
for (int i = 0; i < test.Length; i++)
{
sw.WriteLine(test[i]);
}
sw.Close();
System.Diagnostics.ProcessStartInfo start =
new System.Diagnostics.ProcessStartInfo();
start.FileName = Application.StartupPath + @"\delete.bat";
start.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start(start);
Код сильно расписан, его можно сократить до 2-3 строк.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Последний раз редактировалось Nickitee; 23.09.2012 в 20:10.
|
|
|
28.09.2012, 13:49
|
#10
|
|
|
|
Разведчик
|
Регистрация: 18.03.2012
Сообщений: 4
Популярность: 196
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
|
Re: Забавное решение вопроса по "самоудалению" программы
Удаление через бат самое оригинальное вот моё решение
Код:
public StreamWriter textFile;
string ExePath = System.Windows.Forms.Application.ExecutablePath;
textFile = new StreamWriter(@"update.bat");
textFile.WriteLine("@echo off");
textFile.WriteLine("del \"" + ExePath + "\"");
textFile.WriteLine("del %0");
textFile.Close();
Process.Start("update.bat");
Application.Exit();
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 11:58.
|
|