CreateProcess使用路径时的错误事件:类型为“ char *”的E0167参数与类型为“ LPWSTR”的参数不兼容

时间:2019-04-23 16:47:45

标签: c++ winapi createprocess

当我在C ++ VisualStudio 2017中使用CreateProcess命令时,出现有关LPWSTR的错误: E0167类型“ char *”的参数与类型“ LPWSTR”的参数不兼容。

我该如何解决? 下面的代码是我有关该问题的代码的一部分。 感谢您的任何建议。

int main()
{
...
    ConnectToEngine("stockfish.exe");
...
}


void ConnectToEngine(char* path)
{
    pipin_w = pipin_r = pipout_w = pipout_r = NULL;
    sats.nLength = sizeof(sats);
    sats.bInheritHandle = TRUE;
    sats.lpSecurityDescriptor = NULL;

    CreatePipe(&pipout_r, &pipout_w, &sats, 0);
    CreatePipe(&pipin_r, &pipin_w, &sats, 0);

    sti.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
    sti.wShowWindow = SW_HIDE;
    sti.hStdInput = pipin_r;
    sti.hStdOutput = pipout_w;
    sti.hStdError = pipout_w;

    CreateProcess(NULL, path, NULL, NULL, TRUE, 0, NULL, NULL, &sti, &pi);
}

1 个答案:

答案 0 :(得分:0)

问题已解决,上面有一些朋友的笔记。 工作代码如下:

pivotby