【发布时间】:2019-04-30 18:05:53
【问题描述】:
帮助我理解代码中的问题
#include <Windows.h>
#include <iostream>
int main()
{
STARTUPINFO si;
::ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
::ZeroMemory(&pi, sizeof(pi));
//TCHAR cmd[] = TEXT(R"("c:\Program Files\Internet Explorer\iexplore.exe")");
TCHAR cmd[] = TEXT(R"("c:\Program Files(x86)\Windows Media Player\wmplayer.exe")");
BOOL res = ::CreateProcess(nullptr, cmd, nullptr, nullptr, FALSE, 0, nullptr, nullptr, &si, &pi);
//iexplore - run ok, wmplayer - false & getlasterror = 2
return 0;
}
我的问题是什么?
PS:Windows 10、Visual Studio 2017 CE、平台工具集 v141
【问题讨论】:
-
在我的windows机器上,"(x86)"之前有一个空格。
-
2=FILE_NOT_FOUND,仔细检查您创建的路径。 -
原谅我。我不专心。程序文件和 (x86) 之间的空间
-
你最好用 API 获取 Program Files 路径。
-
@JonathanPotter 对于原始字符串文字而言并非如此。
标签: c++ winapi createprocess