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

> Внимание!

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

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


Знаток
****

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

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


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


Гость






Цитата
И вообще ряд ошибок возникает:
Ну так сначала исправь ошибки а потом будешь говорить, получается у тебя что-нибудь или нет... Ты ж программу не откомпилировал, что ты хочешь запустить?

Вот это компилируется без предупреждений/ошибок, и прекрасно работает:
#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
STARTUPINFO cif;
ZeroMemory(&cif,sizeof(STARTUPINFO));
PROCESS_INFORMATION pi;
if (CreateProcess("c:\\windows\\notepad.exe",NULL,
NULL,NULL,FALSE,0,NULL,NULL,& cif,& pi)==TRUE)
{
cout << "process" << endl;
cout << "handle " << pi.hProcess << endl;
Sleep(1000); // подождать
TerminateProcess(pi.hProcess,NO_ERROR); // убрать процесс
}
return 0;
}

 К началу страницы 
+ Ответить 
Rocket
сообщение 11.11.2008 0:27
Сообщение #3


Знаток
****

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

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


Цитата(volvo @ 9.11.2008 18:18) *

Ну так сначала исправь ошибки а потом будешь говорить, получается у тебя что-нибудь или нет... Ты ж программу не откомпилировал, что ты хочешь запустить?

Вот это компилируется без предупреждений/ошибок, и прекрасно работает:
#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
STARTUPINFO cif;
ZeroMemory(&cif,sizeof(STARTUPINFO));
PROCESS_INFORMATION pi;
if (CreateProcess("c:\\windows\\notepad.exe",NULL,
NULL,NULL,FALSE,0,NULL,NULL,& cif,& pi)==TRUE)
{
cout << "process" << endl;
cout << "handle " << pi.hProcess << endl;
Sleep(1000); // подождать
TerminateProcess(pi.hProcess,NO_ERROR); // убрать процесс
}
return 0;
}




Да, действительно работает прекрасно)
А вот как реализовать программу, которая запускала бы исполняемые файлы ( файлы с расширениями .exe, .bat, .cmd) из указанного в качестве параметра каталога. После завершения каждого запущенного процесса соответствующий исполняемый файл должен удаляться. В случае, если в указанном каталоге отсутствуют файлы, программа должна ожидать их появления. Учесть, что запуск файлов с расширениями .bat и .cmd может быть осуществлен только с помощью командного процессора cmd.exe.
?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 18.07.2025 8:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"