IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Создание и уничтожение процессов, C/C++
сообщение
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Скажите пожалуйста, как создать и уничтожить процесс в ОС семейства Microsoft Windows? Знаю о существовании системного вызова CreateProcess(…), допускающего использование множества дополнительных параметров. Если возможно, то напишите пожалуйста текстовый пример использования CreateProcess(…).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Эти операции здесь ни при чем. Ошибка №2 - это ERROR_FILE_NOT_FOUND... Вот кусок программы, которая у меня прекрасно нашла все требуемые файлы и удалила их:
int main()
{
WIN32_FIND_DATA wfd;

char *maska = "G:\\T\\*.txt";
char *path = "G:\\T\\";
HANDLE hf = NULL;

STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;

ZeroMemory(&si, sizeof(si));

if ((hf = FindFirstFile(maska, &wfd)) == INVALID_HANDLE_VALUE)
return 1; // ошибка, нет нужных файлов

do
{
if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
char full_name[MAX_PATH];
strcpy(full_name, path);
strcat(full_name, wfd.cFileName);

if(CreateProcess(full_name, NULL, NULL, NULL, false, 0, NULL, NULL,& si,& pi)) {
// ...
}
cout << full_name << endl;
DeleteFile(full_name);
}
} while (FindNextFile(hf, &wfd));
FindClose (hf);

return 0;
}
Добавь туда все, что тебе надо после запуска процесса, должно работать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Цитата(volvo @ 15.11.2008 1:46) *

Эти операции здесь ни при чем. Ошибка №2 - это ERROR_FILE_NOT_FOUND... Вот кусок программы, которая у меня прекрасно нашла все требуемые файлы и удалила их:
int main()
{
WIN32_FIND_DATA wfd;

char *maska = "G:\\T\\*.txt";
char *path = "G:\\T\\";
HANDLE hf = NULL;

STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;

ZeroMemory(&si, sizeof(si));

if ((hf = FindFirstFile(maska, &wfd)) == INVALID_HANDLE_VALUE)
return 1; // ошибка, нет нужных файлов

do
{
if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
char full_name[MAX_PATH];
strcpy(full_name, path);
strcat(full_name, wfd.cFileName);

if(CreateProcess(full_name, NULL, NULL, NULL, false, 0, NULL, NULL,& si,& pi)) {
// ...
}
cout << full_name << endl;
DeleteFile(full_name);
}
} while (FindNextFile(hf, &wfd));
FindClose (hf);

return 0;
}
Добавь туда все, что тебе надо после запуска процесса, должно работать...

Большое спасибо за помощь, всё отлично работает! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Rocket   Создание и уничтожение процессов   9.11.2008 21:23
volvo   Вот простейший пример: Шаг 131 - CreateProcess   9.11.2008 21:28
Rocket   Вот простейший пример: [url=http://www.firststeps…   9.11.2008 21:37
volvo   Что значит "не создается"? Не появляется…   9.11.2008 21:43
Rocket   Что значит "не создается"? Не появляетс…   9.11.2008 21:59
volvo   Ну так сначала исправь ошибки а потом будешь говор…   9.11.2008 22:18
Rocket   Ну так сначала исправь ошибки а потом будешь гово…   11.11.2008 4:27
volvo   Искать в папке файлы с необходимыми расширениями (…   11.11.2008 5:35
Rocket   Искать в папке файлы с необходимыми расширениями …   14.11.2008 21:03
volvo   Тебя что, на MSDN забанили? :) MSDN: FindFirstFile…   14.11.2008 21:12
Rocket   Тебя что, на MSDN забанили? :) [url=http://msdn.m…   15.11.2008 2:14
volvo   - это не диагностика... Почему не получается? Что…   15.11.2008 2:59
Rocket   - это не диагностика... Почему не получается? Что…   15.11.2008 3:22
volvo   То же самое (проверку на 0 и печать в этом случае …   15.11.2008 3:30
Rocket   То же самое (проверку на 0 и печать в этом случае…   15.11.2008 3:39
Rocket   Только учти, что при удалении файла есть особые …   15.11.2008 4:34
volvo   Эти операции здесь ни при чем. Ошибка №2 - это ERR…   15.11.2008 5:46
Rocket   Эти операции здесь ни при чем. Ошибка №2 - это ER…   18.11.2008 22:45


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 4:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name