Я пытаюсь запустить процесс calc.exe с помощью CreateProcess(...)
.
Когда я строю решение, которое я получил ошибку:
'STARTUPINFO': необъявленный идентификаторНевозможно использовать CreateProcess из-за ошибки сборки: «STARTUPINFO»: необъявленный идентификатор
Я не понимая, почему.
Ошибка возникает только при построении решения и определении переменных.
При нажатии F12 на переменной она выглядит как:
Может быть, она связана с #ifdef UNICODE
?
Полный код:
// CppConsoleApp.cpp : Defines the entry point for the console application.
//
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include "stdafx.h"
int main()
{
STARTUPINFO info;
PROCESS_INFORMATION processInfo;
ZeroMemory(&info, sizeof(info));
info.cb = sizeof(info);
ZeroMemory(&processInfo, sizeof(processInfo));
LPCWSTR path = L"C:\\Windows\\System32\\calc.exe";
if (!CreateProcess(path, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo))
{
printf("CreateProcess failed (%d).\n", GetLastError());
}
WaitForSingleObject(processInfo.hProcess, INFINITE);
CloseHandle(processInfo.hProcess);
CloseHandle(processInfo.hThread);
return 0;
}
использовать параметр '/ showIncludes' cl для просмотра, какие файлы фактически включены. проверьте, включен ли файл, где определен параметр «STARTUPINFO». посмотрите, это определено в некотором блоке '# if'. проверьте, идет ли вы в этом блоке – RbMm
Прочитайте страницу MSDN на странице [STARTUPINFO] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms686331 (v = vs.85) .aspx) _ – ryyker
@ryyker - и что еще? – RbMm