使用 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中文网其他相关文章!