Я работаю над приложением, которое вызывает другое приложение через CreateProcess. Я на Win7 64 бит. Вызываемое приложение представляет собой консоль, которая получает данные через канал. Код вызова выглядит следующим образом:
STARTUPINFOA si;
PROCESS_INFORMATION pi;
GetStartupInfoA(&si);
memset( &si, 0, sizeof(STARTUPINFOA) );
memset( &pi, 0, sizeof(pi) );
si.cb = sizeof(STARTUPINFOA);
char cmdline[MAX_PATH];
sprintf(cmdline,"\"%s\" %s",AppToCallName,PipeName);
BOOL bRet = CreateProcessA(NULL,cmdline,NULL,NULL,FALSE,CREATE_NEW_CONSOLE|CREATE_BREAKAWAY_FROM_JOB,NULL,NULL,&si,&pi);
На моих компьютерах (пробовал на двух) работает. Для других он возвращает (bRet =) FALSE, затем GetLastError () возвращает 5, что означает ACCESS_DENIED.
Я не могу понять, в чем проблема. И плохо, что это работает для меня, поэтому я не могу отладить его!
Моя настройка:
Я буду рад предоставить дополнительную информацию о настройке, если вам это нужно!
Есть идеи?