c++ - char* 与 C++ 的 LPWSTR 参数不兼容
问题描述
char* 与 LPWSTR 的参数不兼容
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);
}
还有其他方法可以解决这个问题吗?
解决方案
是的,这是真的。
如果您坚持使用char*
参数,请调用CreateProcessA
而不是CreateProcess
. 否则,做path
一个LPWSTR
也把你的程序带入这个千年。
推荐阅读
- indexing - 无法在 Couchbase 中生成解释计划
- python - 大数计算错误:为什么会这样?
- c# - 我可以让一个变量在控制器中有一个 AKA 吗?
- mysql - 避免循环 - 递归 m2m 关系自引用
- rust - 如何使用 Serde 生成带有显示所有缺失值的占位符行的 TOML 文件?
- r - 检查/构建创建的 R 包时出错“LOGICAL() 只能应用于‘逻辑’,而不是‘整数’”
- javascript - 单击时,项目列表不会显示更多和更少的项目
- ruby-on-rails - 如果存在 JS,Capybara 找不到元素
- c# - UWP。当 AdaptiveGridView 的 ItemClickCommand 执行时如何传递命令参数?
- python - 如何使用 Python 打印 pandas 数据帧的单行?