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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Deimoser
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
#1

Удаление созданных файлов по завершении работы программы - C++

04.01.2014, 02:35. Просмотров 224. Ответов 0
Метки нет (Все метки)

Здравствуйте, пробую написать простенький инсталлятор, который в процессе работы извлекает из себя файлы ресурсов. Некоторые файлы ресурсов представляют собой exe'шники для единоразового использования и предполагается их удаление по завершению работы программы.
Использование флага FILE_FLAG_DELETE_ON_CLOSE приводит к удалению файла, еще до выполнения его задач. Пробовал вешать sleep, не помогло.

Сам код
C++
1
2
3
4
5
6
7
8
9
10
11
12
HWND hwnd;
HINSTANCE hInst;
hwnd = GetForegroundWindow(); 
hInst = GetWindowInstance(hwnd);
HRSRC hResInfo = ::FindResource(hInst, MAKEINTRESOURCE(ID_EXE), RT_RCDATA);
                HGLOBAL hRes = ::LoadResource(hInst, hResInfo);
                LPVOID memRes = ::LockResource(hRes);
                DWORD sizeRes = ::SizeofResource(hInst, hResInfo);
                HANDLE hFile = ::CreateFile("test.exe", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_DELETE_ON_CLOSE, NULL);
                DWORD dwWritten = 0;
               Error = ::WriteFile(hFile, memRes, sizeRes, &dwWritten, NULL);
                ::CloseHandle(hFile);
Как быть?

Добавлено через 3 часа 19 минут
помогла функция FindWindow
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2014, 02:35     Удаление созданных файлов по завершении работы программы
Посмотрите здесь:

Ошибка в завершении работы программы - C++
... char s1; std::cout<<"Enter the file name\n"; std::cin>>s1; if ((f=fopen(s1,"r"))==NULL) { perror(""); ...

Ошибка при завершении работы программы - C++
Написал программу, но при завершении выдает ошибку. Помогите понять с чем это связанно?

Ошибка при завершении программы - C++
Добрый вечер! Помогите плиз, у меня после завершения программы она зависает... Методом тыка) определил что после завершения проги,...

ошибка при завершении программы - C++
возникает ошибка при завершении программы. при чем после вывода на экран последней строчки. с чем это может быть связано?

Ошибка компилятора при завершении программы - C++
Я так подозреваю, что где то происходит выход за пределы массива. Хоть vector используй, хоть любую другую структуру, класс или массив,...

Очистка памяти при завершении работы функции, как правильно возвращать значения? - C++
Я вывел для себя 2 способа возвращать значения работы функции string Add(string a1, string a2) { string returnStr; returnStr +=...

Создание и просмотр бинарных файлов: почему в результате работы программы компоненты печатаются не в том порядке? - C++
#include <iostream> #include <stdlib.h> #include <fstream> #include <locale.h> #include <string> #include <set> void...

Удаление переменных в куче, созданных статическим методом класса - C++
Добрый вечер форумчане. При изучении паттернов проектирования наткнулся на следующий код: #include <iostream> #include <assert.h> ...

Записать имена созданных файлов в другой файл - C++
{ system("cls"); cout<< "Enter file name: "; char filename = { 0 }; cin >>filename; FILE* file =...

Удаление файлов - C++
написать программу для удаления файлов по введенным путям. Исходная точка-директория программы. например программа находится в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru