CreateProcess(...)
でcalc.exeプロセスを開始しようとしています。
私はエラーを受け取ったソリューション構築しています:私はなぜ理解していないのです宣言されていない識別子ビルドエラーのためにCreateProcessを使用できません: 'STARTUPINFO':宣言されていない識別子
:
'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;
}
lookには '/ showIncludes' clオプションを使用します。実際にはどのファイルが含まれています。 'STARTUPINFO'が定義されているファイルが含まれていることを確認してください。これはいくつかの '#if'ブロックで定義されています。あなたはこのブロックに入っていますか? – RbMm
_ [STARTUPINFO](https://msdn.microsoft.com/en-us/library/windows/desktop/ms686331(v=vs.85).aspx)のMSDNページをご覧ください_ – ryyker
@ryyker - だから何? – RbMm