Если вызывать GetCommandLine(), то можно получить как строку в кавычках, так и без нее. Каков закон появления кавычек? Так, если консольный процесс вызывает консольный процесс и в имени вызываемого нет пробелов, то кавычек не будет. В других случаях - будут.
ADim Нету закона. Есть что-то вроде рекомендации. Как захочу, так и вызову Ваш процесс. Захочу, вообще не будет ни имени образа, ни пути к нему.
ADim Закон таков: в кавычки заключают тот аргумент, который содержит какие либо разделители. Банальный пример: Конечно закон неформальный
Может сначала сорсы глянуть? создания процесса например Столько открытого кода в сети ужас - и никто не смотрит http://www.reactos.org/generated/doxygen/d4/dbe/dll_2win32_2kernel32_2process_2create_8c.html#a10 l_inc прав - разницы нет какой ком.строкой создается процесс - в кавычках или нет
Prince Не надо меня подставлять. Я такого не говорил. Во-первых, в том, какой командной строкой создается процесс, есть разница, очень подробно описанная в MSDN. Во-вторых, ADim спрашивал не об этом, а о правилах, с какой командной строкой создается процесс. И тут тоже есть большая разница, зависящая от реализации процесса, обрабатывающего свою командную строку. Другое дело, что с какой командной строкой создается процесс определяется вызывающим процессом, а не операционной системой, хотя в MSDN и есть рекомендация на эту тему:
Я всегда делал так (и пока не подводило): проверял первый символ. Если он кавычка - тогда искал кавычку, иначе искал пробел - так я получал указатель на параметры в командной строке.