У меня есть приложение C ++, которое запускает еще одно с CreateProcess ().Я заполняю данные STARTUPINFO с помощью GetStartupInfo () раньше.Вот код:
STARTUPINFOA si;
PROCESS_INFORMATION pi;
GetStartupInfoA( &si );
cout << si.dwFlags << endl;
cout << si.hStdError << endl;
cout << si.hStdInput << endl;
cout << si.hStdOutput << endl;
Я использую Win7 / x64, SP1, VS2005, ICC 9.1 (Intel)
Когда я запускаю приложение из CubicExplorer , оно возвращает:
dwFlags = 1
hStdError = 0xffffffffffffffff
hStdInput = 0xffffffffffffffff
hStdOutput = 0xffffffffffffffff
1017 (и 1016 * * 1017 (1016 * * 1017)Приложение, которое я начинаю с CreateProcess, с помощью этого STARTUPINFO работает.)
Когда я запускаю приложение из стандартного Windows Explorer , оно возвращает:
dwFlags = 1025 (0x401)
hStdError = 0x0000000000000000
hStdInput = 0x0000000000000000
hStdOutput = 0x0000000000010001
(... и CreateProcess не работает с ошибкой ACC).1033 * Мой вопрос: поскольку единственное отличие состоит в том, что приложение запускается из другого проводника папок ( Windows Explorer против Cubic Explorer ), что может выдавать эту различную информацию?