Форум программистов, компьютерный форум, киберфорум
Наши страницы

Самоудаляющаяся программа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пол-ль вводит число от 50 до 100. Программа раскладывает число на сумму 4-х квадратов, всеми возможными способами http://www.cyberforum.ru/cpp-beginners/thread913322.html
Пример: 39 = 1^2+2^2+3^2+5^2. Не получается написать код для этой задачи Помогите пож разобраться
C++ как изображения конвертировать в текстовый файл здравствуйте... Я вообще не программист, даже близко не стаю, вот поэтому прошу помощи у знающих людей... Расскажу для чего это, что бы понять, чем я занимаюсь вообще: Все наверно знают, что... http://www.cyberforum.ru/cpp-beginners/thread913320.html
Шаблон массива с задаваемыми индексами C++
Реализовать шаблон массива с задаваемыми пределами индексов взяв за образец данный шаблон: template<class T, std::size_t N> // параметры шаблона class Array { public: // типы typedef...
Виртуальные функции (нужно ли во всех производных классах писать слово virtual?) C++
Нужно ли во всех производных классах писать слово virtual? Или достаточно только один раз в базовом классе указать что функция виртуальная? Оно вроде и в одном случае правильно работает, и в...
C++ В одномерном массиве найти среднее арифметическое чисел, которые входят в диапазон от 5 до 10 http://www.cyberforum.ru/cpp-beginners/thread913294.html
помогите написать программу)))дан одномерный массив некоторых чисел найти среднее арифметическое чисел которые входят в диапазон от 5 до 10))))
C++ Переведите с Pascal на С++ пожалуйста program asd; var r,V:real; begin write(‘введите радиус r’); readln(r); V:=4/3*3.14*sqr(r)*r; write(‘объем равен’,v:4:2); readln; end. подробнее

Показать сообщение отдельно
hrustash
3 / 3 / 1
Регистрация: 05.04.2013
Сообщений: 42

Самоудаляющаяся программа - C++

27.06.2013, 15:33. Просмотров 1473. Ответов 9
Метки (Все метки)

Не знал, в какой именно топик написать, и, т.к. сам еще начинающий, написал сюда.

Нужно написать программу, которая требует ввода пароля, если пароль трижды введен неверно, программа самоудаляется. (.exe файл)
Самоудаление реализовывал через создание батника. Сразу скажу, что какое именно содержимое записывать в батник додумался я не сам.

Проблема в том, что батник создается, его содержание даже, на мой взгляд, имеет смысл, но екзешник не удаляется.
вот код СИ-шной части
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <fstream>
#include <string>
#include <Windows.h>
using namespace std;
void main()
{
    setlocale(0, "RUS");
    string password = "password", enter;
    unsigned short counter = 0;
    while(counter!=3)
    {
        cout<<"Please enter password: "<<endl;
        cin>>enter;
        counter=counter+1;
        if(password==enter)
        {
            cout<<"Success"<<endl;
            system("pause");
            exit(0);
        }
        else cout<<"Fail"<<endl;
    }
    cout<<"Delete"<<endl;
    system("pause");
    char* filename = new char [1000];
    GetModuleFileName(0, filename, 1000); // посылается в filename полное имя файла.
    string tmp=filename;
    int index = tmp.find_last_of("\\");
    tmp=tmp.substr(index+1);
    ofstream del("deleting.bat");
    del<<"chcp1251"<<endl;          
    del<<":Repeat\ndel\""<<tmp<<"\"\nif exist\""<<tmp<<"\"go to Repeat"<<endl<<"del%0";
    del.close();
    string str = filename;
    index = str.find_first_of("\\");
    while(index!=-1)
    {
        str[index]='/';
        index=str.find_first_of("\\");
    }
    index=str.find_last_of("/");
    str.erase(index+1);
    str=str+"deleting.bat";
    ShellExecute(0, "open", (char*)str.c_str(), 0, 0, 0);
    exit(0);
}
и вот содержимое батника (открыл в блокноте), которое получается.

chcp1251
:Repeat
del"лаба№3.exe"
if exist"лаба№3.exe"go to Repeat
del%0

Может, кто-нибудь сможет мне тут помочь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.