Я сделал 2 проекта Visual Studio, которые обмениваются данными через сопоставленный файл. Но я должен начать каждый из них отдельно: сначала запустите A, запустите его (он создаст сопоставленный файл и заполнит его информацией). Затем я должен запустить B, который будет читать файл и печатать все, что в нем. Конечно, закрытие A и запуск B не сработают (B не найдет отображаемый файл, так как он находится в памяти только тогда, когда A работает).
Мой вопрос: есть ли способ запустить мой проект B через A, без необходимости запускать проект B вручную?
Вместо того, чтобы запускать вручную A, а затем B, вы должны запускать только ручную программу A и позволить программе A запускать программу B с помощью функции CreateProcess:
STARTUPINFO startupinfo ;
startupinfo.cb = sizeof (startupinfo) ;
PROCESS_INFORMATION pinfo ;
memset(&startupinfo, 0, sizeof (startupinfo)) ;
bool success = CreateProcess("b.exe", NULL, NULL, NULL, false, NORMAL_PRIORITY_CLASS,
NULL, NULL, &startupinfo, &pinfo) ;
CreateProcess
. Просто подожди немного, я обновлю свой ответ.