首页 > 后端开发 > C++ > 正文

如何使用 CreateProcess() 从另一个 C .exe 启动 .exe 文件?

Barbara Streisand
发布: 2024-10-30 04:03:02
原创
494 人浏览过

How to Launch an .exe File from Another C   .exe Using CreateProcess()?

使用 CreateProcess() 从 C 打开 .exe 文件

当旨在从另一个 C .exe 启动 .exe 文件时, system() 函数通常不鼓励使用,因为它在安全性、效率和防病毒兼容性方面存在潜在缺陷。

相反,请考虑使用 CreateProcess() 函数,它允许您生成一个新进程来执行目标.exe独立文件。下面是演示其用法的示例:

<code class="c++">#include <windows.h>

VOID startup(LPCTSTR lpApplicationName)
{
  STARTUPINFO si;
  PROCESS_INFORMATION pi;

  ZeroMemory(&si, sizeof(si));
  si.cb = sizeof(si);
  ZeroMemory(&pi, sizeof(pi));

  CreateProcess(lpApplicationName, argv[1], NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);

  CloseHandle(pi.hProcess);
  CloseHandle(pi.hThread);
}</code>
登录后复制

将 .exe 文件的绝对路径作为 lpApplicationName 参数传递给此函数。

对先前代码进行故障排除

在使用 system() 的原始代码中,您遇到的错误可能是由于缺少 OpenFile.exe 的路径造成的。确保指定的 .exe 文件存在于您提供给 system() 或 CreateProcess() 的路径中。

以上是如何使用 CreateProcess() 从另一个 C .exe 启动 .exe 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!