БлогNot. Как запустить программу из программы на C++

Как запустить программу из программы на C++

Отвечаю на вопрос, но обзорно, много кода здесь не ждите :)

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

1. Через функцию system:

system("C:\windows\notepad.exe");

Но здесь, фактически, выполняется команда операционной системы. При закрытии материнского процесса будет закрыт и дочерний.

2. Через функцию CreateProcess. Хороший пример, есть, скажем, в MSDN.

3. Через функцию WinExec:

#include <Windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
				   PSTR cmdLine, int showCmd)
{
	WinExec( "C:\\Windows\\system32\\notepad.exe", 1);
	return 0;
}

Можно запускать дочернюю программу сразу свёрнутой, дав второму параметру значение SW_SHOWMINIMIZED

4. Из программы нужно открыть файл другой программой, например, текстовый файл Блокнотом. Делается через ту же system (п.1), просто нужно запустить наш Блокнот с параметром:

system("notepad C:\\windows\\system.ini");

5. Есть минимум 2 семейства функций в стандарте C++ - spawn и exec, см., например, в лекциях, п. 8.13.

6. Можно упаковать чужую exe-шку в ресурсы своей программы и запускать её оттуда :)

05.11.2011, 20:45 [77082 просмотра]


теги: программирование c++

К этой статье пока нет комментариев, Ваш будет первым