Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 26.11.2012
Сообщений: 31

Передача параметров процессу

26.02.2014, 01:10. Показов 1351. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Форумчане, разъясните начинающему програмисту нюанс передачи параметров от процесса к процессу
Вот код первого процесса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <Windows.h>;
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    char* forCmmLine = (char*)malloc(sizeof(char)*16);
    strncpy(forCmmLine, "Creator parametr", sizeof(char)*16);
    STARTUPINFO si;
    PROCESS_INFORMATION piCom;
    ZeroMemory(&si, sizeof(STARTUPINFO));
    si.cb = sizeof(STARTUPINFO);
    CreateProcess(NULL, forCmmLine, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &piCom);
    CloseHandle(piCom.hThread);
    CloseHandle(piCom.hProcess);
    free(forCmmLine);
    system("pause");
}
Он вызывает второй процесс:
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main(char* file_name)
{
    printf("%s", file_name);
    system("pause");
    return 0;
}
Второй процесс по идее должен выводить на консоль текст "parametr", но вместо этого он просто прекращает свою работу и система говорит мне "Creator.exe has stopped working"
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2014, 01:10
Ответы с готовыми решениями:

Передача процессу функции внедрения длл через другую длл (Очень сложно и не понятно)
Допустим у меня есть dll1.dll и 2 процесса game.exe и calc.exe, мне нужно написать длл т.е. dll2.dll, которая будет внедрятся в calc.exe и...

Передача параметров
Необходимо передать шесть параметров из одной переменной, а именно: имеется EditBox со значением например, 01:23:45, и шесть переменных,...

Передача параметров процессу
Здравствуйте, уважаемые форумчане) Прошу помочь в следующем: существую два процесса, назовём их А и В, для передачи параметров из А в...

2
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
26.02.2014, 09:31
Цитата Сообщение от 123Unknown Посмотреть сообщение
strncpy(forCmmLine, "Creator parametr", sizeof(char)*16);
Завершающий ноль забыли.
И вообще, это не похоже на командную строку.
Должно быть как-то так: "имя-процесса.exe Creator parametr".
0
29 / 29 / 16
Регистрация: 06.03.2013
Сообщений: 159
26.02.2014, 09:35
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main(int argc, char *argv[])
{
if(argc > 1)
    printf("%s", argv[1]);
 
system("pause");
return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <Windows.h>;
#include <stdio.h>
#include <iostream>
using namespace std;
 
int main()
{
    STARTUPINFO si;
    PROCESS_INFORMATION piCom;
    ZeroMemory(&si, sizeof(STARTUPINFO));
    si.cb = sizeof(STARTUPINFO);
    CreateProcess(NULL, "c:\\errortest.exe parametr_00", NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &piCom);
    CloseHandle(piCom.hThread);
    CloseHandle(piCom.hProcess);
    free(forCmmLine);
    system("pause");
}
вот так вот у меня работает, как вы просили
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2014, 09:35
Помогаю со студенческими работами здесь

CreateProcess передача параметров процессу
#include &quot;windows.h&quot; #include &quot;iostream&quot; #include &lt;conio.h&gt; using namespace std; void main() { STARTUPINFO cif; ...

Открыть файл указанной программой (передача параметров процессу)
Доброго всем времени суток! Нужно открыть файл &quot;*.html&quot; в программе &quot;SeaMonkey&quot; или &quot;NVU&quot; или &quot;Опера&quot; или...

Передача комм строки процессу
Всем доброго дня! Мне нужна Ваша подсказка, так ка я застрял! У меня есть программа и в неё нужно добавить возможность создания архива. Я...

Передача консольного ввода другому процессу
Здравствуйте, Такой простой вопрос. Есть консольное приложение, которое &quot;висит&quot; на Console.ReadLine() Как его штатно завершить...

Передача данных другому процессу через именованные каналы
Вся группа не может решить задание от нашего зав. кафедры, необходима ваша помощь! Само задание: Написать программу, передающую...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru