Форум программистов, компьютерный форум CyberForum.ru

Самоудаление программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разбить на классы http://www.cyberforum.ru/cpp-beginners/thread162471.html
Написала программу для игры в покер, но поскольку программировать я начала недавно, то забила все в один класс. Но получилось как-то не очень красиво и читать тяжеловато. Помогите пожалуйста разбить программку на 3 класса: Pack, On_hands и Prize. #include <iostream> #include <time.h> const int NotUsed=system("color 24"); using namespace std; class Pack {
C++ Скрыть программу Вот кусок кода который скрывает активные программы: HWND Wnd; Wnd=GetForegroundWindow(); if (Wnd>0) ShowWindow(Wnd,SW_HIDE); http://www.cyberforum.ru/cpp-beginners/thread162463.html
Как это читается C++
(*r).sled r - > sled Между ними нет разницы
Не удается просмотреть значение переменной в DevCpp C++
У меня есть компилятор Dev Cpp, проблема в том, что он не отлаживает программу.. Когда я добавляю переменную в список наблюдаемых, в списке переменных ничего не появляется.
C++ Конкатенация текстовых файлов http://www.cyberforum.ru/cpp-beginners/thread162410.html
Подскажите примерно как действовать. Нужно соединить данные(строки)из 2ух текстовых файлов и результат вывести в выходной файл. В каждом из файлов слова(строки) разделены пробелами: fille_1.txt: qwerty dert virt maestro jackson file_2.txt: piano buzz street lamp
C++ Программа для перевода чисел из 10 системы в 2 Народ помогите написать программу для перевода чисел из 10 системы в двоичную В консоле Если надо я могу прислать листинг программы которую я пытался создать Заранее спасибо подробнее

Показать сообщение отдельно
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
30.08.2010, 20:47     Самоудаление программы
Цитата Сообщение от Vladimir616 Посмотреть сообщение
ping -n 1 -w 1000 0.0.0.0 >nul
Вместо задержки ругается на неправильный айпишник, с 0.0.0.1 работает вроде.
Цитата Сообщение от Black Fregat Посмотреть сообщение
Прямого способа не существует - пока программа работает, ее файл открыт монопольно и удален быть не может.
Но есть кривой способ: если загнать exeшник в NTFS поток какого-то файла, то этот файл нормально удаляется.
Вот я попробовал написать - если вариант с NTFS потоком прокатывает, то прога перезапускается из нового места и файл удаляется, если не прокатывает - то удаляется после закрытия.
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
#include <cstdio>
#include <cstdlib>
#include <string>
#include <windows.h>
 
using namespace std;
 
const char batText[] = ":1\r\n ping -n 1 -w 1000 0.0.0.1\r\n del %1\r\n if exist %1 goto 1\r\n del %0";
const char batName[] = "1.bat";
const char tempName[] = "1.bat:qq.exe";
const char tempNameWithParam[] = "1.bat:qq.exe x2";
 
void Work()
{
    while (1)
        printf("%d ", rand());
}
 
int Execute(const char* cmdLine, WORD visibility)
{
    STARTUPINFO si = {sizeof(STARTUPINFO)};
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = visibility;
    PROCESS_INFORMATION pi;
    BOOL res = CreateProcess(0, const_cast<char*>(cmdLine), 0, 0, FALSE, CREATE_NEW_CONSOLE, 0, 0, &si, &pi);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    return res;
}
 
int main(int argc, char *argv[])
{
    if (argc >= 2 && strcmp(argv[1], "x2") == 0)
        Work();
 
    FILE* f = fopen(batName, "wb");
    fwrite(batText, 1, sizeof(batText) - 1, f);
    fclose(f);
    Execute((string(batName) + ' ' + argv[0]).c_str(), SW_HIDE);
 
    if (!CopyFile(argv[0], tempName, FALSE) || !Execute(tempNameWithParam, SW_SHOW))
        Work();
}
(ShellExecute название с потоком не переварил)
 
Текущее время: 11:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru