gpt4 book ai didi

c - ShellExecute 返回成功但未创建文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:44 26 4
gpt4 key购买 nike

我正在使用 ShellExecute WIN API 来运行 DOS 命令,因为在我运行应用程序时会看到 DOS 命令闪烁。下面是 ShellExecute API 调用。

ret = ShellExecute(0, "open", "cmd.exe", "/C ver > version.txt", 0, SW_HIDE);

在此之后,我尝试使用 fopen 函数打开 version.txt,但它返回 NULL。

感谢任何帮助。

最佳答案

ShellExecute() 异步运行指定进程。 fopen() 失败的原因几乎可以肯定是 cmd 进程没有足够的时间来实际创建文件。

有几种方法可以解决这个问题。对于您的情况,最好的方法可能是改用 ShellExecuteEx() 来检索 hProcess 中的进程句柄,这将允许您在恢复代码之前等待其终止。参见 How to wait for ShellExecute to run? .

关于c - ShellExecute 返回成功但未创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28962795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com