Запустить сторонний исполняемый модуль с аргументами и получить из него результаты в текстовую строку.

Вызов:

int ierr = shell_func("ExecCmd", string exenamewithargs, string sresult);

Здесь:

exenamewithargs - имя стороннего программного модуля с аргументами.

Если в пути или имени или аргументах есть пробелы - то пишется в кавычках.

sresult - содержимое консольного вывода этого модуля.

Возвращаемое значение:

-1 - ошибка.

0 - успешное выполнение модуля;


Пример.

Выполнить сторонний программный модуль "TSChild Process.exe" с аргументами "Аргумент 1" и "Аргумент 2" и вывести в окно сообщений.


int main()

{

       string sresult;

       int ires = shell_func("ExecCmd", "\"C:\\source\\TSChild Process.exe\" \"Аргумент 1\" \"Аргумент 2\"", sresult);

       coutvar << sresult;

       coutvar << ires;

}


Результат выполнения скрипта в окне сообщений:




Текст исполняемого модуля "TSChild Process.exe" на языке Си++


//************************************************

// Этот exe модуль запускается и пишет на консоли

//************************************************

#include <iostream>

using namespace std;

int main(int argc, char* argv[])

{

       if (argc == 2)

       {

               cout << "Hello World! Привет! " << argv[1] << "\n";

       }

       else if (argc == 3)

       {

               cout << "Hello World! Привет! " << argv[1] << " " << argv[2] << "\n";

       }

       else

       {

               cout << "Мало аргументов\n";

       }

       return 1;

}

//***********************************************