STARTUPINFO siStartupInfo;
PROCESS_INFORMATION piProcessInfo;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
if (CreateProcess("C:\\Program Files\\SublimeText2\\sublime_text",
" source.cpp",
NULL,
NULL,
FALSE,
CREATE_DEFAULT_ERROR_MODE,
NULL,
NULL,
&siStartupInfo,
&piProcessInfo) == FALSE)
WaitForSingleObject(piProcessInfo.hProcess, INFINITE);
::CloseHandle(piProcessInfo.hThread);
::CloseHandle(piProcessInfo.hProcess);
我正在尝试通过CreateProcess
在Sublime Text中打开一个文件,但构建显示以下错误:
类型" const char *"的参数与" LPWSTR"。
类型的参数不兼容
类型" const char *"的参数与#34; LPWCSTR"类型的参数不兼容
' BOOL CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION)':不能转换参数1来自' const char [32]& #39;到LPCWSTR'
答案 0 :(得分:1)
LPWSTR
( L ong P ointer to W ide STR ing)是{ {1}},而不是wchar_t*
。您有3个选项可以解决问题:
char*
#defined。UNICODE
更改调用以使用宽字符串常量,并明确调用函数的CreateProcessA
版本,如:
W
在这三个中,第三个选项是您应该使用的选项。