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);
Я пытаюсь открыть файл в Sublime Text через CreateProcess
но сборка показывает следующие ошибки:Я пытаюсь открыть файл в Sublime Text через CreateProcess(), но сборка показывает ошибку
-
аргумент типа "const char *" несовместим с параметром типа "LPWSTR".
-
аргумент типа "сопзЬ символ *" несовместим с параметром типа "LPWCSTR".
-
'BOOL CreateProcessW (LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD LPVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION)': не может преобразовать аргумент 1 от 'сопзЬ полукокса [32]' к «LPCWSTR .
выше помогли работы. Не могли бы вы рассказать о возможности прекратить приложение (Sublime Text) после определенного времени с использованием вышеуказанного кода. –
@DikshitKalra: Это другой вопрос (тот, который вы уже задали сегодня, получил полезные подсказки, а затем решил удалить). Почему вы упрямо игнорируете совет, чтобы принять [тур]? – IInspectable
@theB: Третий вариант должен вызывать 'CreateProcessW', поскольку вы передаете явные строковые литералы символов. Совместимый тип символьной строки для 'CreateProcess' -' TCHAR * ', и использование сопоставлений с общим текстом больше не является яростью, я слышу. Кроме того, вы не можете передать строковый литерал ко второму параметру 'CreateProcessW'. Он должен быть перезаписываемым буфером. – IInspectable