Я использую Windows 8 x64 Enterprise, VS2010.
У меня проблема с CreateProcess()
.
Я создал проект консоли Win32 для выполнения _backround_manipulator.exe
, моего приложения.
Реализация здесь.
#include "stdafx.h"
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
DWORD RunManipulator(TCHAR* tszProcessPath);
int _tmain(int argc, _TCHAR* argv[])
{
_tprintf(_T("---Manipulator will start...---\n"));
if(0x08 == RunManipulator(_T("_background_manipulator.exe")))
_tprintf(_T("---Manipulator Started.---\n"));
else
_tprintf(_T("---Manipulator cannot run.---\n"));
return 0;
}
DWORD RunManipulator(TCHAR* tszProcessPath)
{
STARTUPINFO _v_startupinfo;
PROCESS_INFORMATION _v_processinfo;
ZeroMemory(&_v_startupinfo, sizeof(STARTUPINFO));
ZeroMemory(&_v_processinfo, sizeof(PROCESS_INFORMATION));
_v_startupinfo.cb = sizeof(STARTUPINFO);
if (!CreateProcess(NULL, tszProcessPath, NULL, NULL, FALSE, 0, NULL, NULL, &_v_startupinfo, &_v_processinfo));
{
return 0x12;
}
return 0x08;
}
Но не может передать функцию CreateProcess(NULL, tszProcesPath, /*...*/)
в режиме debug
.
Ошибка вроде этой;
Что не так в моем коде? Это потому, что я создал консольный проект?
if
, что, я думаю, не является желаемым поведением. 2) ДобавлениеGetLastError
в случае отказа сообщаетERROR_FILE_NOT_FOUND
. У вас есть_background_manipulator.exe
в пути? - person karastojko   schedule 12.09.2017ConsoleProject
. 2) Такая же ошибка возникает после замены_background_manipulator.exe
наcalc.exe
. - person G.Alexander   schedule 12.09.2017tszProcesPath
доступен только для чтения. что тут непонятного? тривиальная ошибка - person RbMm   schedule 12.09.2017tszProcessPath
доступен только для чтения. Вы знаете, почему это происходит? Я ничего не делал сtszProcessPath
. - person G.Alexander   schedule 12.09.2017calc.exe
(в режиме консоли). - person karastojko   schedule 12.09.2017