Gack! Что именно ты пытаешься сделать? Ваша проблема на стороне родительского процесса (который вызывает CreateProcess()
) или на стороне дочернего процесса?
Существует несколько способов передачи параметров из родительского процесса в дочерний процесс, созданный функцией CreateProcess()
. Если вы можете закодировать эти параметры в виде строки разумного размера, то передача их через параметры командной строки (параметр lpCommandLine
в CreateProcess), вероятно, является наиболее простой и переносимой, с переменными среды 2nd.
Если у вас есть структура данных, которую вы не можете кодировать в строке разумного размера (либо из-за большого объема памяти, либо из-за того, что ее нелегко сериализовать), вам необходимо прибегнуть к какому-либо методу межпроцессного взаимодействия. Файл или блок разделяемой памяти - два способа сделать это. В любом случае вам нужно придумать согласованное местоположение для ребенка, чтобы найти его (путь к файлу в случае файла или имя блока совместно используемой памяти), а затем передать эту строку в виде командной строки. параметр или переменная окружения.
Если вы пытаетесь проанализировать параметр lpCommandLine
в дочернем процессе, то это то, что предложили другие люди.