CreateProcess() C++ 文件未找到

2023-12-02

我正在尝试使用CreateProcess启动一个子进程,但是我不断得到error 2,根据文档,该文件未找到。

我的代码如下所示:

if (!(CreateProcess(LPCTSTR("test.exe") ,NULL ,NULL,NULL,FALSE ,0  ,NULL ,NULL ,&producer_si
              ,&producer)))
{
    printf("Create process failed!(%d)\n", GetLastError());
}

Where test.exe是我之前创建的可执行程序。子进程非常简单,代码如下:

void _tmain (int argc, TCHAR* argv[])
{
printf("%s\n", "hello!"); 
} 

test.exe也可以在与父进程相同的文件夹中找到。我不明白为什么我总是收到错误代码 2。


错误2是ERROR_FILE_NOT_FOUND。正如其他人告诉你的那样,你依赖的是relative当您需要使用路径时absolute路径代替。

Also, LPCTSTR("test.exe")不是有效代码。如果UNICODE被定义为,CreateFile()映射到CreateFileW(), and LPCTSTR映射到LPCWSTR ie const wchar_t*。你不能输入char* to a wchar_t*并最终得到有意义的数据。如果你想使用TCHAR- 敏感文字,使用TEXT()相反,宏,例如:

if (!CreateProcess(TEXT("full path to\\test.exe"), ...))

否则,忘记使用TCHAR只需编写特定于 Ansi 或特定于 Unicode 的代码即可,具体取决于您的需求:

if (!CreateProcessA("full path to\\test.exe", ...))

if (!CreateProcessW(L"full path to\\test.exe", ...))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CreateProcess() C++ 文件未找到 的相关文章

随机推荐

  • 简单的“Hello World”风格的程序在执行开始后很快就会关闭

    我正在通过一本叫做 C 的书学习 C C 初学者指南第二版 当我运行可执行文件时 它会显示它半秒钟并关闭它 我在 Windows 8 1 上使用 Microsoft Visual Studio Express 2013 for Window
  • 如何在 XAML 中将 List 作为 ItemSource 绑定到 ListView?

    我正在学习 WPF 希望有一个类似于 LinkedList 的集合 以便我可以在其中添加和删除字符串 我想要一个ListView通过数据绑定监听该集合 我怎样才能将一个简单的列表集合绑定到ListView在 XAML 中 我的想法 不起作用
  • 从当前目录执行命令,不带点斜杠,如“./command”

    我觉得我错过了一些非常基本的东西 所以如果这个问题很迟钝 我很抱歉 自从我使用 bash shell 以来 我就一直在努力解决这个问题 假设我有这样的结构 bin command executable 这将执行 bin command 然后
  • 如何比较整数与整数数组

    我是安卓新手 我想知道如何比较整数和整数数组 有一组整数数组 Ex array int 1 2 3 4 和单个整数int i 2 这里我想比较这两个整数 如果单个整数出现在数组整数中 我想要打破这个过程 for i 0 i
  • 网格列数据在语义 UI 反应中重叠?

    https codesandbox io s m3ljr4zl8p example js 我没想到第 1 列数据会开始重叠到第 2 列数据中 而不是下降 因为它现在超出了网格列宽度 解决这个问题的办法是什么 列不重叠 是你的 p 元素比列占
  • Github Actions - 一个操作完成后触发另一个操作

    我有一个动作 ayaml文件 用于将 docker 映像部署到 Google Cloud Run 我希望收到告知构建和推送结果的 Slack 或电子邮件消息 构建操作完成后如何触发消息操作 是否可以获得构建操作的结果 有 2 个选项可以执行
  • 在 SAS 中按条件查找 2 个数据集之间的匹配项

    我正在尝试通过我的同学和我在使用 SAS 的编程课程中使用的 jsl 文件中现有的 for 循环来提高处理时间 我的问题 SAS 是否提供可以复制搜索和匹配条件的 PROC 或语句序列 或者一种浏览未排序文件而不逐行查找匹配条件的方法 我们
  • 在 PhantomJS 中评估似乎不起作用

    我对 JavaScript 魔法有疑问 当我执行这段代码时 var page require webpage create var url http google com page open url function status if s
  • 同一对象的哈希值不同,Swift,Hashable

    里面的Hashable我们可以看到 Hash values are not guaranteed to be equal across different executions of your program Do not save has
  • 从最后一行开始搜索 mysql 表

    所以 我知道关系数据库上不存在 最后一行 这样的东西 但我找不到更好的词来解释我想要做什么 我有一个如下所示的表 其中id is an AUTO INCREMENT场和time是当前的 Unix 时间戳 请注意 我可以为不同的行使用相同的时
  • Python 生成器表达式括号奇怪

    我想确定列表是否包含某个字符串 因此我使用生成器表达式 如下所示 g s for s in myList if s myString any g 当然我想内联它 所以我这样做 any s for s in myList if s myStr
  • Swift 上的常见 Equatable 类

    我需要容器Any Equatable中的项目NOT Generic类 例如故事板中初始的 UI 类 我需要这样 var items Equatable 但它不起作用 Equatable need Generic 不存在共性的问题Equata
  • Sharepoint 2013:通过 REST API 确保用户

    我正在尝试通过 REST API 自动确保某些用户 我的 REST 通话 ajax url blablabla api web ensureuser type POST data logonName i 3A0 23 w 7Cdomain
  • 从 WCF 服务公开枚举的 DescriptionAttribute

    如何使用 WCF 将服务中的枚举值中的描述属性暴露给客户端或 Web 引用 或者 如何使用 WCF 向客户端公开带有描述属性的枚举 虽然公开描述属性不公开 但客户端中仅公开枚举值 我想要枚举中描述属性的值 您不能强制执行此操作 mex WD
  • 如何在没有类的情况下生成对象的新实例?

    问题 如何从该类的实例生成该类的新实例 我发现了什么 考虑下一个类及其实例 Create a new class var Foo function Foo console log New instance of FOO Foo protot
  • 我可以隐藏控制器并查看名称 cake php 2 吗?

    我正在使用 cake php 由于某种原因我想从 url 中隐藏控制器和操作名称 当前网址我们喜欢 http 192 168 1 31 home this is test 其中 home 是控制器名称 this is test是动态的 sl
  • 进程卡在退出处,显示为僵尸但无法收获

    我有一个由其父级监控的进程 孩子遇到了一个错误 导致它调用abort 该进程不会篡改中止进程 因此它应该按预期进行 转储核心 终止 父级应该检测子级的终止并触发一系列事件来响应失败 子进程是多线程且复杂的 这是我看到的ps F UID PI
  • 查询失败错误:无法通过前缀查询视图。匹配视图的部分列表是

    我正在尝试查询具有多个表和等效视图的数据集 我试图使用 table suffix 仅查询表 但它返回错误 查询失败错误 无法通过前缀查询视图 匹配视图的部分列表 我无法从数据集中删除视图 有没有办法只查询表而忽略视图 SELECT COUN
  • 为什么 ref 和 out 不足以消除 C# 中重载的歧义?

    例如 为什么这个方法Max ref int x ref int y 不被认为是过载Max int x int y 为什么与相同out 这个问题预设了一个错误的前提 Max int x int y Max ref int x ref int
  • CreateProcess() C++ 文件未找到

    我正在尝试使用CreateProcess启动一个子进程 但是我不断得到error 2 根据文档 该文件未找到 我的代码如下所示 if CreateProcess LPCTSTR test exe NULL NULL NULL FALSE 0